标签: squash

使用Git将我的最后一次X提交压缩在一起

如何使用Git将我最后的X提交压缩成一个提交?

git squash git-squash

3294
推荐指数
38
解决办法
147万
查看次数

在Git中压缩前两个提交?

随着git rebase --interactive <commit>你能够压制任意数量的提交连成一个单一的一个.

除非你想将提交压缩到初始提交中,否则这一切都很棒.这似乎是不可能的.

有没有办法实现它?


中度相关:

在一个相关的问题中,我设法提出了一种不同的方法来解决第一次提交的问题,这也就是说,它是第二次提交.

如果您有兴趣:git:如何插入提交作为第一个,转移所有其他?

git rebase git-rebase squash

529
推荐指数
5
解决办法
15万
查看次数

如何在推送后压缩git中的提交?

这给出了压缩多个提交的一个很好的解释:

http://git-scm.com/book/en/Git-Branching-Rebasing

但它不适用于已被推送的提交.如何在我的本地和远程回购中压缩最近几次提交?

编辑:当我这样做时git rebase -i origin/master~4 master,保留第一个pick,将其他三个设置为squash,然后退出(通过emacs中的cx cc),我得到:

$ git rebase -i origin/master~4 master
# Not currently on any branch.
nothing to commit (working directory clean)

Could not apply 2f40e2c... Revert "issue 4427: bpf device permission change option added"
$ git rebase -i origin/master~4 master
Interactive rebase already started
Run Code Online (Sandbox Code Playgroud)

其中2f40是pick提交.现在,4个提交中没有一个出现git log.我希望我的编辑器能够重新启动,以便我可以输入提交消息.我究竟做错了什么?

git squash

494
推荐指数
9
解决办法
25万
查看次数

如何将所有git提交压缩成一个?

你如何将整个存储库压缩到第一次提交?

我可以重新设置第一次提交,但这会让我有2次提交.有没有办法在第一个之前引用提交?

git rebase git-rebase squash git-rewrite-history

427
推荐指数
17
解决办法
20万
查看次数

在git中,merge --squash和rebase之间有什么区别?

我是git的新手,我正在努力理解壁球和篮板之间的区别.根据我的理解,你做一个篮板时做一个壁球.

git merge rebase git-rebase squash

336
推荐指数
5
解决办法
13万
查看次数

你如何使用git format-patch将提交压缩成一个补丁?

我在一个分支上有八个提交,我想通过电子邮件发送给一些不是git开悟的人.到目前为止,我所做的每件事都给了我8个补丁文件,或者从一开始就开始给分支历史上每次提交的补丁文件.我使用git rebase --interactive来压缩提交,但是现在我尝试的所有内容从一开始就给了我数以万计的补丁.我究竟做错了什么?

git format-patch master HEAD # yields zillions of patches, even though there's 
                             # only one commit since master
Run Code Online (Sandbox Code Playgroud)

git patch squash git-squash

162
推荐指数
7
解决办法
9万
查看次数

有没有办法以非交互方式压缩一些提交?

我正在尝试压缩一系列提交 - HEAD到HEAD~3.有没有快速的方法来做到这一点,还是我需要使用rebase --interactive?

git interactive rebase squash

107
推荐指数
4
解决办法
4万
查看次数

Git/Git Extension中"squash"和"fixup"之间有什么区别?

我一直在使用Git Extensions一段时间(它真棒!)但我还没有找到以下简单的答案:

有时候,在输入提交消息时,会输入错误信息.我的朋友告诉我如何通过以下方式修复它(在Git Extentions中):

右键单击提交>高级>修复提交

在此输入图像描述

然后我只需选中"修改"框并重写我的信息即可!我的提交消息已修复.

然而,另一个选项"壁球提交"......我一直想知道它的作用是什么?!

我的问题是:

有人会简单地解释一下在Git/Git Extentions中Squash提交Fixup提交之间的确切区别是什么?他们看起来...... "相似": 在此输入图像描述 在此输入图像描述

git fixup git-extensions squash difference

97
推荐指数
5
解决办法
4万
查看次数

合并到第一个分支后合并分支的分支在合并到主分支时被压扁

这是我在工作中经常处理的工作流程.

git checkout -b feature_branch
# Do some development
git add .
git commit
git push origin feature_branch
Run Code Online (Sandbox Code Playgroud)

此时,我的同事们正在审查功能部门,但我希望继续开发其他依赖的功能feature_branch.所以feature_branch在审查中......

git checkout feature_branch
git checkout -b dependent_branch
# Do some more development
git add .
git commit
Run Code Online (Sandbox Code Playgroud)

现在我做了一些更改以响应feature_branch上的代码审查

git checkout feature_branch
# Do review fixes
git add .
git commit
git checkout dependent_branch
git merge feature_branch
Run Code Online (Sandbox Code Playgroud)

现在这是我们遇到问题的地方.我们在master上有一个squash策略,这意味着合并到master中的功能分支必须压缩成一个提交.

git checkout feature_branch
git log # Look for hash at beginning of branch
git rebase -i  first_hash_of_branch # Squash feature_branch …
Run Code Online (Sandbox Code Playgroud)

git squash arcanist

66
推荐指数
1
解决办法
6601
查看次数

`--squash`和`--no-ff --no-commit`之间有什么区别?

应该使用哪一个来隐藏微观发现?

git merge --squashgit merge --no-ff --no-commit否认其他父母的唯一区别?

git merge git-merge squash fast-forward

60
推荐指数
1
解决办法
2万
查看次数