Git 取证:dev 分支上的所有更改在合并到 master 后都消失了
Git forensics: all changes on dev branch disappeared after merge into master
我的团队刚刚发现,当开发分支合并到 "master" 时,该分支的所有更改(编辑、添加的文件)都消失了。
-- A --- B --- D -- "master"
\ /
-- C -- "dev"
git diff D B
没有区别。
git diff D C
差异很大。
应该没有合并冲突。
合并可能是使用 SourceTree 执行的。
对于这样的事情是如何发生的,是否有一个简单的解释?我们希望避免再次这样做。
谢谢!
在 Git 中获得它的唯一方法是明确要求它。有多种方法可以做到这一点,有多种工作流程,这是合法的合并结果,但这不是默认的,你不能只是粗暴地提出请求,你必须提出要求。一种方法是 -s ours
合并。另一个是在提交合并之前执行 git reset HEAD
。如果 SourceTree 可以轻松解决这个问题,那就是他们。
我的团队刚刚发现,当开发分支合并到 "master" 时,该分支的所有更改(编辑、添加的文件)都消失了。
-- A --- B --- D -- "master"
\ /
-- C -- "dev"
git diff D B
没有区别。
git diff D C
差异很大。
应该没有合并冲突。
合并可能是使用 SourceTree 执行的。
对于这样的事情是如何发生的,是否有一个简单的解释?我们希望避免再次这样做。
谢谢!
在 Git 中获得它的唯一方法是明确要求它。有多种方法可以做到这一点,有多种工作流程,这是合法的合并结果,但这不是默认的,你不能只是粗暴地提出请求,你必须提出要求。一种方法是 -s ours
合并。另一个是在提交合并之前执行 git reset HEAD
。如果 SourceTree 可以轻松解决这个问题,那就是他们。