用的是 Gitlab 。
在我的本地, origin 指向我的 repo , ups 指向上游 repo
我想把 master 更新到上游的最新版本,我的行动:
- git fetch ups
- git rebase ups/master
- git push 结果第 2 步出现了很多 conflict 。
请问,我没改过代码,为什么还要让我解决冲突呢?有没有更好的同步上游改动的方法? 谢谢!
用的是 Gitlab 。
在我的本地, origin 指向我的 repo , ups 指向上游 repo
我想把 master 更新到上游的最新版本,我的行动:
请问,我没改过代码,为什么还要让我解决冲突呢?有没有更好的同步上游改动的方法? 谢谢!
1
sorra OP 我发现上游的 merge commits 在我这里消失了(变成扁平的了),难道是 rebase 的时候弄掉了?所以不应该用 rebase ?
|
2
besto Jan 18, 2017
冲突是和你当前的 branch 有冲突。你当前指向的是 master ?还是自己改过的 branch ?
另外用 pull --rebase 比较好。 |
3
sorra OP @besto 是 master ,没动过的。我改用 git pull ups master 成功了,确实 pull 就好了。我之前为什么要 fetch+rebase 呢?
|
4
kinghui Jan 18, 2017
有可能上游强推过(git push -f)
|
5
julyclyde Jan 18, 2017
你可以对比一下 log ,估计是 push -f 过
|
6
SpicyCat Jan 18, 2017
如果本地没有修改,那就是人家强推过。
git reset --hard ups/master 就好 |
7
franklinyu Jan 19, 2017
所以大多數 Git 教程都有說「強推需謹慎」,就是避免這種讓人困惑的情況……
|