担心git提交和推送会意外覆盖更改

3
我正在与朋友一起使用远程git工具bitbucket.org开发一个项目。我们目前都在不同的时间段内在主分支上进行开发,然后提交和推送这些更改到远程站点供另一个人使用。

现在他已经将他的更改提交并推送到仓库中,而我正在进行自己的工作,我担心如果我推出我的提交,它会完全覆盖他的提交。我的担忧是正确的吗?我认为我应该创建一个新分支,在主分支中获取他的更改,然后合并两个分支,最后再推送。这是一个好策略吗?还是我在无谓地担心?希望能得到一点建议。

2个回答

3
整个VCS的理念就是在这个过程中不会破坏数据。如果您的代码不同步,您尝试推送时将被告知必须先接受上游更改,然后才能提交。
一旦您接受并合并了更改,您就可以将自己的代码应用到HEAD。

那正是我想到的。我刚刚在重要的代码方面犯了一些非常令人遗憾的错误,我不想失去这些更改。 - nook
1
可能需要提到,使用“--force”将覆盖此行为,并在使用时非常小心。 - Infiltrator
非常重要!任何更改都可以使用git reflog恢复。=] - Brian Melton-Grace - MSFT

1
一般情况下不应该发生这种情况,但你需要注意。例如,如果你和你的朋友的代码之间存在冲突,你需要注意如何解决冲突。(即不要盲目地完全接受你的朋友或你自己的版本 - 你可能需要手动解决冲突。)你可以有意地练习更改同一个文件,以便掌握技巧。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接