Hen*_*art 2 git version-control github
我们正在公司里讨论毕业后该做什么git rebase。之后你rebase需要将更改推送到远程origin,但是当 git 不允许时我们应该怎么做呢?实际上,我们正在讨论当分支已经被推送时我们最常用的两种方法:
1 .git push -uf origin branch
原因:只有origin. 树将是flat。
|
|
|
Run Code Online (Sandbox Code Playgroud)
2 .
git push -u origin branch
! [rejected]
hint: Updates where rejected because the tip of your current branch is behind
hint: Updates were rejected because the tip of your current branch is behind
hint: "git pull ...") before pushing again.
git pull origin branch
git push -u origin branch
Run Code Online (Sandbox Code Playgroud)
原因:它将创建一个名为“Merged origin/branch intobranch blablabla”的提交,看起来没有必要。它不会是flap树。
|\
| |
|/
Run Code Online (Sandbox Code Playgroud)
** 强制标志看起来很奇怪
如果你对一个分支进行变基,那么你就是在重写该分支的历史。
如果该分支已被推送,您需要“强制推送”它,因为它的新提示无法通过之前的提示到达(这就是您收到该错误消息的原因)。
git push --force origin branch
Run Code Online (Sandbox Code Playgroud)