什么是 merge 冲突?
大多数问题都涉及解决 merge 冲突
,例如 this一个。
但我不知道为什么它会发生在我身上......
简而言之,我们被告知:
git clone url ~/lab
现在我们必须编辑这些文件,然后提交更改。
对于第二个作业,我们需要执行以下操作:
git commit -am 'changes to lab1 after handin'
git pull
git checkout -b lab2 origin/lab2
git merge lab1
现在我的合作伙伴向我发送了他的 lab1
文件。这样我就可以处理他的代码,因为它更干净、更有组织。
git status
>>> nothing to commit, working directory clean
然后我删除所有文件
git status
>>> list of deleted files
git commit -am 'delete my files'
git status
>>> nothing to commit, working directory clean
然后我将他的文件提取到我的目录
git status
>>> list of untracked files in red
git add .
git status
>>> Changes to be commit and the list of files in green
git commit -am 'teammate files'
git status
>>> nothing to commit, working directory clean
现在 TA 命令
git commit -am 'changed branch'
git pull
>>> Already up-to-data. (As expected!!)
git checkout -b lab2 origin/lab2
>>> On branch lab2
git merge lab1
>>> almost all files failed merge and have conflict
有什么解释为什么会发生这种情况吗?我怎样才能防止这种情况发生?
我害怕自己这样做,因为我可能会删除不应该删除的代码......所以我宁愿 git merge
自己工作。
最佳答案
当您的更改(需要覆盖远程存储库上的内容,将其命名为 master 或您将更改推送到的分支)与团队中另一个人的更改(自上次您 pull 以来他的更改)发生冲突时,就会发生 merge 冲突会覆盖您尝试推送的更改,或者您将覆盖他的更改)。通常您可以通过 merge 来解决此冲突。您应该能够看到远程更改、您的更改和结果。您可以选择要删除/添加/保留代码的哪些部分。
关于git - 什么是 merge 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43809309/