Git 实用命令
234人浏览 / 0人评论
参考
https://mp.weixin.qq.com/s/Ie0jjW6zmU_3i8geUKAvDQ
git stash
作用:暂存还未 commit 的代码,当需要切换到其他分支,但是又不想匆忙提交当前分支时使用。
使用:
# 保存当前未commit的代码
git stash
# 保存当前未commit的代码并添加备注
git stash save "备注的内容"
# 列出stash的所有记录
git stash list
# 删除stash的所有记录
git stash clear
# 应用最近一次的stash
git stash apply
# 应用指定stash
git stash apply stash@{序号}
# 应用最近一次的stash,随后删除该记录
git stash pop
# 应用指定stash,随后删除该记录
git stash pop stash@{序号}
# 删除最近的一次stash
git stash drop
# 删除指定stash
git stash drop stash@{序号}
git reset --soft
作用:软回退,回退已经 commit 的代码,并将 commit 的修改内容放回到暂存区,以便再次修改重新提交;如果已经 push,回退修改后再次 push 时,需要使用强制推送 git push -f
。
注意:git reset --soft
指定 commit 号时,会将该 commit 到最近一次 commit 的所有修改内容全部恢复。
使用:
# 恢复最近一次的 commit
git reset --soft HEAD^
# 查看 git 提交日志
git log
# 恢复到指定 commit
git reset --soft 1a900ac29eba73ce817bf959f82ffcb0bfa38f75
git cherry-pick
作用:将某个分支中的某个、某些 commit 应用到其他分支。
使用:
# feature 分支某次 commit 的 commitHash 为:02e4fd597be45ceb4f24d5d27cefe30554a0a460,现在需要应用该提交到 master 分支(切换到 master 分支)
git cherry-pick 02e4fd597be45ceb4f24d5d27cefe30554a0a460
# 一次应用多个提交
git cherry-pick commit1 commit2
# 多个连续的 commit,使用区间复制
git cherry-pick commit1^..commit2
# cherry-pick 遇到冲突时会中断,需要解决冲突,提交后继续执行流程;有时也需要放弃或者退出 cherry-pick 流程
# 继续执行流程
git cherry-pick --continue
# 放弃 cherry-pick,回到操作前的样子,就像什么都没发生过
git cherry-pick --abort
# 退出 cherry-pick,保留已经 cherry-pick 成功的 commit,并退出 cherry-pick 流程
git cherry-pick --quit
全部评论