显示一个分支中的所有提交,这些提交不是来自合并

时间:2016-04-19 16:26:09

标签: git merge branch git-log

我有一个分支,我定期跟进合并,我喜欢这样:

D/API: Request: PUT: http://api.<replaced>
D/API: 11 parameters and 1 files
D/API: File 0: f83ee728-8b1b-4cbf-8f6c-c103456366c4
D/API: Parameter: token = d81db04cc03faa16717a61eb494969b16e134b38
D/API: Parameter: id_google_place = EiJDYXJyZXIgQmFydHJpbmEsIFRlcnJhc3

现在,当我想查看分支上的提交时,我会获得该分支的提交以及合并后的所有master提交。很多我尝试过的东西

git checkout branch
git merge master
// if there are conflicts, fix -> commit the merge
不能给我我想要的东西,因为提交合并的提交哈希值已经改变,并且与主分支上的相应提交不同(我认为这是因为在某些时候那里是一些合并冲突)。

所以,我有几个问题。

  1. 还有办法只显示不是来自合并的提交吗?

    git log --first-parent --no-merges
    git log branch ^master
    git cherry -v master
    

    似乎可以实现某种目标,但仍然会在一堆合并的提交中显示出来。这可能是因为我在某个时候合并不好吗?

  2. 最后,如果我将分支重新绑定到主服务器,那么合并后的提交是否会取消主服务器上的原始提交并消失?

  3. 我希望将更改重新放在最新的东西之上,因此更改,但我也不想以某种方式复制master的历史记录,如果所有的提交都来自最初来自合并的分支会被记录,因此在这种情况下合并会更好吗?

  4. 我应该使用

    吗?
    git log --cherry-pick --oneline --no-merges --right-only master...branch
    

    让分支机构保持最新状态?

  5. 关于事态的更多信息

    git merge --squash master
    

0 个答案:

没有答案