Git 避开发散主
我是一个项目的合作者。所有者通常处理不同的文件。我怎样才能避免主人发散呢 github的情况Git 避开发散主,git,Git,我是一个项目的合作者。所有者通常处理不同的文件。我怎样才能避免主人发散呢 github的情况 fileA # modified by owner fileB fileC 本地: fileA fileB fileC # modified by me 我注意到fileA已更改。因此,我尝试了git fetch,因为我的目标是在本地更新fileA。然后我提交了我的fileC并执行了git push,现在它会产生 ! [rejected] master -> master (n
fileA # modified by owner
fileB
fileC
本地:
fileA
fileB
fileC # modified by me
我注意到fileA
已更改。因此,我尝试了git fetch
,因为我的目标是在本地更新fileA
。然后我提交了我的fileC
并执行了git push
,现在它会产生
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ...
然后它建议git pull
,我会得到一些合并的东西。
如何避免这些问题(和分支)?我看到
git-push
,git-rebase
,git-fetch
,可以避免合并(请参阅)
这将下载最新的文件(此处为fileA
),但不会影响本地更改
如果已经提交了本地更改(![rejected]master->master(先提取)
),可以提前执行
git复位头
。因此,完整的配方是
git reset HEAD # undo commit, if needed, keeps local changes
git pull --rebase --autostash # keeps local changes
git commit -m "...." fileC
git push
你有“合并的东西”吗?你是说合并冲突?您研究过如何解决Git中的合并冲突吗?除了在某些极端情况下(如二进制或自动生成的XML文件),解析非常简单。看起来你会从一个基本的Git教程中受益,该教程教你获取、合并、推送或拉取的含义。我只是想事先避免这种情况。我总是要查它,而且我总是不知道它的概貌。你无法避免它。如果两个人同时处理同一个文件,就会发生冲突。学会接受它。这只是开发人员的一部分。这种情况经常发生,你很快就会明白。在那之前,只要把你能找到的任何有帮助的东西加入书签和/或做笔记,然后再参考它们就行了。
git reset HEAD # undo commit, if needed, keeps local changes
git pull --rebase --autostash # keeps local changes
git commit -m "...." fileC
git push