- branch
- stash
- pull
- cherry-pick
- …
branch
创建分支
git branch
切换分支
git checkout
创建并切换分支
git checkout -b
删除分支
git branch -d
合并分支
git merge
远程分支合并到当前
git merge
/
stash
保存当前未 commit 的代码
git stash
保存当前未 commit 的代码并添加备注
git stash save “备注的内容”
列出 stash 的所有记录
git stash list
删除 stash 的所有记录
git stash clear
应用最近一次的 stash
git stash apply
应用最近一次的 stash,随后删除该记录
git stash pop
删除最近的一次 stash
git stash drop
应用某条记录(pop,drop 同理)
git stash apply stash@{1}
pull –rebase
- 必须保持本地目录干净,不能存在 modified,untracked 除外
- 存在冲突,使用
git rebase --continue
继续操作 - 也可使用
git rebase --abort
放弃 rebase
reset –soft
恢复最近一次 commit
git reset –soft HEAD^
- 针对的是未 push 的 commit 记录
- 对于已经 push 的 commit,本地和远程分支有差异,强制推送
git push -f
- reset –soft 指定 commit 号,会将该 commit 到最近一次 commit 的修改内容全部回复,不止针对该 commit
cherry-pick
单个复制
git cherry-pick “commitHash”
多条复制
git cherry-pick commit1 commit2
区间复制
git cherry-pick commit1^..commit2
- 如果遇到冲突,cheery-pick 中断,先解决代码冲突,重新提交到暂存区
- 使用
cherry-pick --continue
,继续流程 - 使用
git cherry-pick --abort
,放弃流程 - 使用
git cherry-pick --quit
,退出流程,什么都没发生
revert
将现有的提交还原,生成一条新的还原纪录
普通提交
git revert 21dcd937fe555f58841b17466a99118deb489212
合并提交
git revert -m 1
reflog
查看历史记录,把错误提交的那次 commitHash 记下,reset 回去
短命令
git config –global alias.ps push