4
A
回答
2
我发现做了合并提交之后。 我可以添加修改提交“git ci --amend”来更改提交消息, 这完全符合我的要求。我会接受我自己的答案作为正确答案。
Simon Boudrias和ranendra给出了相关答案,这些答案也以不同的方式起作用。所以我投了票。
7
你基本上有两个选项。
简单的解决方案:不合并,调整基线
调整基线主枝上的顶部您的分支,解决冲突,然后合并。由于您将有一个直线历史记录,因此您将能够快速合并,并且不会创建任何合并提交。
git checkout feature
git rebase main
# Resolve conflict if there is
git checkout main
git merge feature
第二个选项:调整基线-i
您可以将您的合并(之前你推到一个远程)后,编辑您的历史。您可以使用rebase交互模式进行管理。
git checkout main
git merge feature
#You merge and resolve conflict
git rebase -i <sha of the commit before the merge>
然后你就必须考虑到交互的shell与提交的清单,例如:
pick 73c991e Create progress bar module
pick b8a0b83 merge branch feature
pick 2120f47 Add user form
pick 70c55e4 Quiz prototype system
你只需要添加squash
或s
代替pick
:
pick 73c991e Create progress bar module
pick b8a0b83 merge branch feature
s 2120f47 Add user form
pick 70c55e4 Quiz prototype system
该命令将压缩在一起b8a0b83
和2120f47
。下一步将是一个提交文本编辑器,您可以在其中同时提交邮件,现在由您来正确编辑它们以保留原始邮件。
2
当你在主站和当地分支机构不同的变更,混帐创建一个额外的承诺为合并自动。为了阻止这种额外的提交发生,你可以在分支之前将主分支转为。
$ git pull(in master which retrieves the new changes>
$ git checkout <local_branch>
$ git rebase master
$ git checkout master
$ git merge local_branch.
9
的-m
参数就传递给merge
命令:
$ git merge other-branch -m "Commit Message"
0
首先,复制要保留原来的提交信息。
然后,在下面的例子中使用git merge
,如:
$ git checkout mainBranch
$ git merge featureBranch --squash --no-commit
您可能需要解决冲突。
该方法避免了自动提交,因此所有文件都保留在索引上;因此,您可以使用您在第一步中保存的原始提交消息来提交代码。
我知道这是作弊,但它的作品。 =)
相关问题
- 1. Git合并分支提交
- 2. Git:合并冲突并提交消息
- 3. Git合并中间提交的分支
- 4. GIT中从主合并提交消息
- 5. Git-svn合并和提交分支
- 6. git:合并两个分支并提交提交
- 7. git撤消合并提交另一个合并提交
- 8. 使用Git合并分支
- 9. 取消合并分支,保留合并后提交
- 10. git分支合并
- 11. 合并Git分支
- 12. Git在合并之前合并提交
- 13. 在GIT中合并分支 - 这条消息意味着什么
- 14. Git标记分支特定的提交并防止合并
- 15. 合并并推送所有git分支
- 16. 为什么git提示我提交后合并提交消息?
- 17. git合并后的git log --no-ff显示合并的其他分支提交的所有提交
- 18. Git,合并分支git
- 19. 合并后获取功能分支的提交消息
- 20. 的Git合并提交
- 21. 撤消git合并,但添加合并后提交
- 22. 的Git分支与合并
- 23. 什么产生提交消息,如:合并分支'主'...到'主'
- 24. 合并git分支时,如何避免提交日志分支?
- 25. Git工作流:合并分支,同时避免重复的提交消息
- 26. 交叉存储库分支合并git
- 27. Git在合并之后合并另一个分支上的随机提交
- 28. Git撤消合并3个分支
- 29. 取消合并分支在Git与Sourcetree
- 30. Git的平分与合并提交
谢谢。我在一个分支中使用了很多压缩来组合提交。但我不知道合并的提交也可能被压缩。谢谢你的提示。 – kakyo 2013-02-22 18:15:28
第二个想法是,我很好奇为什么我必须选择rebase合并。除了它没有给出正确的信息之外,我对合并的内容非常满意。我发现我可以用“git ci --amend”来改变它。根据这篇文章:http://stackoverflow.com/questions/804115/git-rebase-vs-git-merge/,rebase改变了我分支出功能分支的历史。我想保留这段历史。 – kakyo 2013-02-22 18:28:19
然后你也可以用'git rebase -i'简单地编辑提交信息。而不是使用'squash',只能使用'edit'。我不是Git中保存历史的大保护者,对我而言,Git是编写项目历史的编辑器,它是如何有意义的,以及它如何易于使用(例如二分法)。因此,我广泛地使用rebase来保持我的历史整洁有用;这可能不是你的意见,但我相信它最终会成为现实。 – 2013-02-22 18:57:17