美文网首页
git squash 用法

git squash 用法

作者: 时彬斌 | 来源:发表于2020-04-23 18:10 被阅读0次

在开发一个功能的时候会反复的提交代码,会造成一个功能有很多次提交,在我们要向master做分支合并的时候,就会出现很多commits,在合并以后同一个功能的commits就会很多,导致我们无法清晰的知道这个功能关联的commit有哪些,这个squash就是优化我们的commits信息,让我们的版本仓库看起来简洁明了,功能点一目了然:
使用比较简单,比如我想将本地开发分支的内容合并到master主线分支上,并且期望将一个功能的所有提交压缩成一个commit;

  1. 先checkout master分支并做本地分支和远程仓库同步
    git checkout master
    git pull (一定要做同步,若本地代码和远端仓库不同步的话,就会出现很多远端的修改进入我们的squash时的commits当中)
  2. 切换到开发分支 dev , 并执行commits合并操作
    git checkout dev
    git rebase -i master
 # 执行上面的语句后,会进入以下编辑界面
 pick xxx: commit1 add : add xxx 
 pick xxx: commit2 fix: update xxxx
 pick xxx: commit3 fix: delete xxx
 pick xxx: commit4 modify : update xxxx 
# 进入编辑模式,将除第一行的pick外,其余的pick都改成 squash ,退出编辑模式,保存即可
 pick xxx: commit1 add : add xxx 
 squash xxx: commit2 fix: update xxxx
 squash xxx: commit3 fix: delete xxx
 squash xxx: commit4 modify : update xxxx 
  1. 以上操作顺利的话,我们执行以下操作即可:
    git push -f
    \color{red}{注意}: squash操作后你的提交信息就变成了一次提交,会记录你之前的提交的描述信息,但是已经看不到相关的提交记录了;
    \color{red}{如果不想丢失自己的提交记录,操作的时候还是要慎重一点}
    ------------------------------分割线-------------------------------
    看了资料以后,git 在merge的时候提供了这种squash merge的操作方式,未有实践,这里也做个记录:
  2. git checkout master
  3. git merge --squash dev
    这样可以在master节点上只看到一个提交,不管你在dev分支上有多少次提交

相关文章

  • git squash 用法

    在开发一个功能的时候会反复的提交代码,会造成一个功能有很多次提交,在我们要向master做分支合并的时候,就会出现...

  • Git squash

    The goal is to squash the latest 4 commits into one. In t...

  • Git squash part 02

    We can use command git rebase -i to squash commits.Howeve...

  • git压缩版本快照

    目前有两种方案: git merge --squash git rebase -i HEAD~n 1. merge...

  • git

    ###merge 合并多条提交信息为一条 ``` cd到项目目录git git merge --squash an...

  • 如何git squash

    假设我有一个commit已经push到远端了,现象我想加一个新的commit,并且合二为一后,在push到远端,我...

  • Git 常用命令介绍之merge --squash的使用场景

    git merge --squash {branch} 远程仓库 project-A 中,有个公用分支dev,团队...

  • 「Git」merge –squash介绍

    Git相对于CVS和SVN的一大好处就是merge非常方便,只要指出branch的名字就好了,如: 但是,操作方便...

  • git commit合并

    git rebase -i 合并之前的那个commit pick表示执行squash表示被合并 pick命令保留要...

  • Git合并本地更改(Squash)

    很多时候,把本地多个Git commit合并为一个再push,有很大的优势。这个操作在Git中被称为Squash。...

网友评论

      本文标题:git squash 用法

      本文链接:https://www.haomeiwen.com/subject/fhnaihtx.html