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

全部评论