我们有一个远程存储库源,其中有主分支、开发分支和一堆错误修复分支。
几个月前我将其克隆到本地,并签出开发分支但什么也没做,然后前几天我切换到 bugfix_1 分支,但仍然什么也没做。
今天,我切换回开发分支,并运行git pull,但它导致了数千个合并冲突。
我曾经认为git pull类似于svn update,无论远程仓库上更改了多少文件,都不应该有任何合并冲突,因为我没有在本地更改任何内容。
我曾经是一个 svn 用户,并且对 git 有点陌生,如果有人可以提供一些解释,或者一些可能的原因,我将非常感激。或者也许我只是完全做错了什么?
另一个问题是,假设我在开发分支,这两个命令之间有什么区别:
git拉
和
git pull origin 开发
谢谢。
编辑:
我上周根据简的建议做git fetch origin了。git reset --hard origin/development
今天,我运行git fetch origin,git status它给出:
您的分支和“起源/开发”已经出现分歧,分别有 45 和 51 个不同的提交。
我不知道为什么有 45 个本地提交,我没有改变任何东西!
对于你的第一个问题:
是的,你是完全正确的,如果你没有改变任何东西,你不应该有任何合并冲突。我能想到的唯一可能的原因是,如果有人更改了服务器上的历史记录(您永远不应该这样做),而不是仅将更新推送到服务器。
您可以通过运行以下命令来使用服务器上的任何内容(如果您没有任何本地更改):
git checkout master
git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)
对于你的第二个问题:
请把它放在 StackOverflow 上的一个单独的问题中,这两个问题没有任何共同点......
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2758 次  |  
        
|   最近记录:  |