gpt4 book ai didi

git - 我如何撤消其他开发人员 git push 到 master 分支

转载 作者:太空狗 更新时间:2023-10-29 14:05:01 26 4
gpt4 key购买 nike

这似乎一直都会发生,但我找不到答案。

发生了什么:

另一位开发人员在其本地服务器上git merge了一个分支与 master 分支,导致冲突。然后 git 添加冲突,git 提交git 推送更改和冲突到 master 分支。放下麦克风离开大楼:

问题:

有没有办法让我撤消最后一次冲突的提交,这样我就可以将我的代码更改推送到 master 并继续我的一天,让其他开发人员在他的本地机器上修复冲突的代码???


到目前为止我发现了什么:

我已经提交了我的本地更改并将“冲突提交” pull 到我的本地服务器...

我找到的两个选项是:

选项 1:

git revert -m 1 <conflicted commit>

这将撤消冲突提交所做的所有更改。但是当其他开发人员执行 git pull 时,他们的所有更改都将被删除。对吧?

选项 2:

git reset --hard <my commit>;
git push --force;

这将从 git 中完全删除冲突的提交,就好像它从未发生过一样(我不喜欢)。但是现在其他开发者本地服务器会不同步。

你会怎么做?

最佳答案

如果您只想撤消一个提交,最安全的修复方法是您的第一个选择:

git revert -m 1 <conflicted commit>

一般来说,使用git reset是危险的在远程存储库上的任何提交上。如果有人在推送这些更改后克隆了存储库并进行了自己的更改,那么当他们尝试与 git pull 同步时就会遇到麻烦。 .有一个带有“悬垂头”的“孤立提交”。虽然这两件事都可以随着时间的推移而解决,但如果可以通过简单的 git revert 解决,就没有理由陷入此类麻烦。 .

关于git - 我如何撤消其他开发人员 git push 到 master 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com