我在Github上有一个git repo,在我的web服务器上有一个git repo.无论什么时候我都要git pull origin master在Github上进行更新,它说Your branch is ahead of 'origin/master' by 6 commits.有趣的是每次我从Github取出一个新的更改时,数字会增加2!我每次都必须'合并'.
这是在我更新了我的Web服务器上的.gitignore之后开始的,并删除了我忽略的两个文件.我更新了.gitignore并删除了我的Github仓库中的两个文件.
Git大师,为什么会这样?我该如何纠正?
发生这种情况是因为您不断创建远程不存在的本地合并提交.默认行为git pull是合并新的更改,并且您继续这样做,但您从未推送过合并.您的历史可能看起来像这样:
o - [master]
/|
[origin/master] - o o
|/|
o o
|/|
o o
|/|
o o
|/|
o o
|/
o
|
o
Run Code Online (Sandbox Code Playgroud)
查看所有这些合并提交?每次跑步git pull都会创建一个新的.
这里的解决方案是弄清楚你想如何处理你拥有的本地提交.当您说您更新了服务器和github repo时,您是否单独更新了它们?如果是这样,您创建了两个代表相同更改的不同提交.在这种情况下,您可以git reset origin/master摆脱本地合并.
另一方面,如果您的本地提交实际上并不代表github repo中的内容,那么您需要决定是保留还是删除它.如果你想摆脱它,使用相同的git reset origin/master.如果您想保留它,您可能希望将git rebase origin/master其拉到历史记录的末尾,然后将其推送到服务器.
| 归档时间: |
|
| 查看次数: |
2240 次 |
| 最近记录: |