目前,当我使用GIT时,我为每个作业创建一个分支,并在完成之前进行各种提交.然后我与我的主分支合并并向上游推送.我可能在任何时候都有几个分支机构,并且在工作中间随着事情的发生而轻弹.
但是大多数这些提交只是保存点,即在宏观方案中并不重要.因此,当我合并分支时,如果分支日志没有与主日志合并,我会喜欢它.
有没有办法合并下面提交g的日志消息(而不是提交c或e)?
a [master]
|
b (create branch 'job')
|\
| \
| c
| |
d e
| |
f g (next step is to merge 'job' branch with 'master')
Run Code Online (Sandbox Code Playgroud)
Ell*_*ioh 62
我认为merge --squash在我使用"每个功能分支"方法时非常有用.我在临时分支中的提交历史是完全垃圾,绝对没有意义.而且我真的希望再也看不到这个历史,而不仅仅是为了能够跳过它.
当提交进行代码审查时,重要的是不要创建额外的提交.
kni*_*ttl 14
有,但这是无稽之谈.你为什么要那样做?你将失去所有的分支历史和信息.
您可以使用g的提交消息进行合并提交,然后使用该--first-parent选项浏览历史记录.
如果你真的想从你的分支机构使用中丢失历史记录git merge --squash,我不推荐它
编辑
万一你不开心,因为你不认为你的历史很干净,你可以使用git的rebase功能:
您可以追溯编辑旧的并从现有分支创建新提交(实际上重写它).它允许您重写提交消息,拆分提交,压缩提交到单个提交,重新提交提交等.
你应该只在你没有发布你的分支时使用变基(即它只是一个私有分支),因为它会给其他开发人员带来麻烦,以后可能会导致合并问题,如果有人继续处理旧的(在重新定位之前)分支.
| 归档时间: |
|
| 查看次数: |
26185 次 |
| 最近记录: |