标签: squash

git,在飞行中压缩提交

我有一个本地git仓库,一个远程仓库.自从上次从远程拉出以来,我向本地回购做了5次提交.

现在我需要推送到远程.我需要压缩我最近的5次提交.

我可以做到 git rebase -i HEAD~5

但这并不好.我不想在我的本地仓库中改变任何东西.我想将一个压扁的提交推送到远程,并在我的本地仓库中保留5个未更改的提交.

有任何想法吗?

UPD:如果我的本地仓库有5次提交怎么办?我需要创建新的远程仓库以与他人共享我的代码.如何压缩这个新回购的提交?

git rebase squash

5
推荐指数
2
解决办法
171
查看次数

我应该把小型的开发工作压缩成更大的吗?

关于如何压缩git和其他DVCS的提交,也有很多问题,例如:

我的问题是,我想要压缩提交吗?我应该保留详细的提交顺序,显示功能是如何开发的,还是我应该在功能完成后将它们压缩成一个,以保持历史更清晰?

dvcs commit squash

5
推荐指数
2
解决办法
1032
查看次数

Git壁球并合并

谁能告诉我这两个命令之间的区别:

git merge --squash
Run Code Online (Sandbox Code Playgroud)

git merge --no-ff 
Run Code Online (Sandbox Code Playgroud)

git merge squash

5
推荐指数
1
解决办法
407
查看次数

如何自动压缩很多提交?

我有很多提交,我想要一起压缩成一个提交.当然,我可以代替picksquash每一个承诺,但我有几百个提交.有没有办法自动执行此操作?

git commit squash

5
推荐指数
1
解决办法
751
查看次数

我如何使用Git作为一个提交进行rebase

我的历史看起来有点像这样但是时间10:

                i - j - e'- k - h'- l - m  feature-branch
              /
    a - b - c - d - e - f - g - h  master
Run Code Online (Sandbox Code Playgroud)

(撇号意思是樱桃选秀权)我想改变这个:

                                  i - j - k - l - m  feature-branch
                                 / 
    a - b - c - d - e - f - g - h  master
Run Code Online (Sandbox Code Playgroud)

我不介意该功能是否被压缩为1次提交.常规rebase的主要问题是它一次尝试重新设置一个提交,我必须一遍又一遍地修复和重新修复类似的冲突.

我想要的只是取我的分支尖端和主人的尖端之间的差异,并将其应用于主人之上.

git rebase squash

5
推荐指数
1
解决办法
1050
查看次数

在变基和挤压时,"作者"如何确定git提交?

我重新安排了一个有2个提交的同事分支,并将第二个提交压缩到第一个提交.它保留了原作者(即不是我).

假设我想修复一行代码,所以我反转一个大块并进行新的提交.

在这一点上,我回到了我开始的地方,有两个我想要挤在一起的提交,并希望保留原作者.但是,在早先的情况下,两个提交都有相同的作者.在后一种情况下,被压扁的提交有不同的作者.哪位作者将git分配给新的重新定位/压缩提交?

git author rebase squash

5
推荐指数
1
解决办法
183
查看次数

如何使用 eclipse 压缩提交?

我总是使用命令提示符来压缩多个提交,我想知道如何使用 eclipse 来做到这一点!

我一直在寻找这个答案,但我还没有找到有用的东西。

eclipse git squash

5
推荐指数
1
解决办法
3863
查看次数

github在拉入请求的压缩合并后提交

  1. 我有另一个repo @github的分支.
  2. 做了一些代码并向上游发出了拉取请求
  3. 上游主人与壁球选项合并
  4. 现在下一个pull请求包括新代码和旧提交.所以他们越来越多了.

我该怎么办?

  • repos在代码方面完全同步
  • 顶部的github徽章显示我的fork是xx提交在上游之前
  • 我试图将上游合并到我的仓库(没有效果,因为它们是同步的)
  • 我不确定rebase是否有帮助,但有我的提交和其他人的提交.所以那里很乱,我不知道该怎么做.

github squash git-squash

5
推荐指数
1
解决办法
277
查看次数

git merge --no-ff 和 git merge --squash 有什么区别

我与一个使用“合并工作流程”的小团队合作,我们最近根据Sandofsky 的文章切换到“变基工作流程” 。

我们当前的工作流程:

  1. git checkout master、git pull origin master
  2. git checkout -b feature_branch,做一些工作并 git commit -am "msg for featurebranch"
  3. git checkout master、git pull origin master、git rebase master feature_branch
  4. git checkout master,git merge --squash
  5. git commit -am“主分支的消息”,git Push origin master

在对功能分支进行变基后,我们将其合并到我们的主分支中。如果我们使用 --no-ff 代替会发生什么?git merge --squash和 和有什么区别git merge --no-ff

git merge squash

4
推荐指数
1
解决办法
6200
查看次数

将“修复”提交重新设置为先前的合并提交

我已经执行了以下合并:

A---B---C---E (HEAD, merge of C and D)
           /
      D---|
Run Code Online (Sandbox Code Playgroud)

但我注意到E中的一些问题,并在F中修复了它们:

A---B---C---E---F (HEAD)
           /
      D---|
Run Code Online (Sandbox Code Playgroud)

我想修改提交,E以便它包含F.

当我尝试时git rebase -p -i HEAD~2,它会尝试创建常规(非合并)提交,甚至尝试让我重新解决在执行合并时已经解决的冲突E

如何修复提交E,使其包含中所做的更改F

git git-rebase squash git-interactive-rebase

4
推荐指数
1
解决办法
575
查看次数