Git常用指令
目录
一 提交代码到远程
二.git log
三.git cherry-pick
四.git branch -vv
五.git clean -dfx
六.git clean -ndx
七.定期同步上游分支
八.误操作后恢复,若合并或变基出错,可通过 git reflog 找回之前的状态:
九.暂存本地修改
一 提交代码到远程
步骤 1:创建新分支
git checkout -b new-feature-branch
步骤 2:更新到最新节点
a # 获取远程最新分支的更新
git fetch origin
b # 合并最新的远程分支到新分支
git merge origin/main(指定分支)
步骤 3:推送代码到远程分支
git push origin new-feature-branch:main
步骤 4:删除本地新分支(可选)
git branch -d new-feature-branch
二.git log
1.log格式化
git log --oneline --format="%h %an: %s"
%h:表示简短的提交哈希值。
%an:代表提交作者的姓名。
%s:是提交说明
1234567 John Doe: Update README file
2.搜索log
git log --oneline | grep "Update"
3.显示文件更改信息
git log -p
4.使用 -n 选项可以指定显示的提交数量,例如只显示最近的 3 次提交:
git log -n 3
5.图形化显示分支历史
git log --graph --oneline
6.按日期筛选
git log --since="2024-04-01" --until="2024-04-15"
7.按作者筛选
git log --author="John Doe"
8.根据hash值查看某一条提交
git log -p 4c937a27838
9.查看其它分支log
git log <分支名>
三.git cherry-pick
1.合并某一次提交
git log <分支名> 获取某次提交得hash值
git cherry-pick 123456789abcdef(某次提交得hash值)
可能遇到的情况及解决办法
冲突解决:如果在合并过程中出现冲突,Git 会暂停操作并提示你解决冲突。你需要手动编辑冲突文件,然后使用 git add 标记冲突已解决,最后使用 git cherry-pick --continue 继续合并操作。
放弃合并:若你想放弃这次合并操作,可以使用 git cherry-pick --abort 命令。
四.git branch -vv
git branch -vv 命令可以显示本地分支和对应的远程跟踪分支的详细信息,包括提交记录的差异。
五.git reset --soft HEAD~
HEAD~1 表示撤销最近的一次提交,若要撤销更早的提交,可调整数字,例如 HEAD~2 撤销最近的两次提交。
git reset --soft HEAD~1
五.git clean -dfx
-d 删除未被跟踪的目录(包括空目录)。若不加此参数,仅删除文件。
-f 强制删除(force
-x 删除所有未被跟踪的文件,包括被 .gitignore 忽略的文件。警告:此参数会删除 .gitignore 中指定的文件(如编译产物、临时文件)
用于彻底清理工作区,移除未被跟踪(untracked)的文件和目录
六.git clean -ndx
预览会被删除的文件和目录
七.定期同步上游分支
在开发 feature 分支期间,定期将 main 分支的更新合并到 feature:
git checkout feature
git merge main
八.误操作后恢复,若合并或变基出错,可通过 git reflog 找回之前的状态:
git reflog # 查看操作历史
git reset --hard HEAD@{n} # 回退到第 n 个操作前的状态
九.暂存本地修改
git stash push -m "优化配置修改" frameworks/base/packages/SystemUI 暂存本地路径未提交的修改
git stash list 查看暂存列表
git stash apply stash@{1} 恢复指定暂存(如stash@{1}),但保留在栈中