我搞砸了另一次合并。当我在上面的线路上进行更改时,我有两条线压在一起并错过了第二条线上的小改动。
所以这就是冲突:
看到区别? Awaiting Fulfillment
需要小写。
这是我的坏事,但这不是我的问题/问题。
问题在于,当我合并它时,看起来Awaiting Fulfillment
永远不会被更改。 git blame
在更改之前显示提交,而不是我的b0rked合并。拉取请求中的差异也显示无变化到该行。
这发生在我们身上几次,我不确定如何抓住它。如何让这些糟糕的合并清晰易懂?
以下是我所做的事情(我的工作流程):
1)我做了一个分支,permissions
2)我在permissions
3)当我完成后,我git pull master
4)修复合并冲突后,我推送permissions
分支并转到GitHub,这样我就可以从那里发出拉取请求;现在我的团队看着我已经破坏了我的新功能
5)然后我们合并拉取请求
这会产生以下两个问题:
查看合并提交,该行没有任何变化。第658行是“未受影响的”。
git blame
未显示更改它的冲突提交。这就像它永远不会改变。
埋在拉取请求中,可以找到我的错误合并,但不是在我只是浏览文件的历史时。
我尝试了什么:
我在git reset --hard
和git pull --rebase
以及git rebase master
搞砸了之前回到了git rebase permissions
。我完成了git pull --rebase
并最终遇到了同样的问题(git blame
不清楚,并且很难找到搞砸了)。这些改变感觉就像一场死亡游行 - 太多的变化,我终于放弃了。
我觉得我在这里缺少一些关键的git概念,但我不确定在哪里开始阅读。
答案 0 :(得分:1)
如何让这些糟糕的合并清晰易懂?
在从2.6.2开始的git中,您可以使用blame --first-parent
来查找已经在master中的更改,但是已通过合并进行了还原。但是为了使它在你的情况下工作(当你的分支中的变化已经恢复时),你应该责怪你的分支负责人