Mos*_*she 144 git version-control
我正在使用Git来管理我的两台计算机和我的开发.我正在尝试将更改提交给GitHub,我收到错误.
无法推送一些参考
<repo>.为了防止您丢失历史记录,拒绝了非快进更新.在再次推送之前合并远程更改.
可能导致这种情况的原因是什么?
编辑:
拉回购物品会返回以下内容:
*分支主 - >主(非快进)已经是最新的
推送仍然给我上述错误.
Von*_*onC 131
GitHub有一个很好的部分叫做" 处理"非快进"错误 "
这个错误起初可能有点压倒性,不要害怕.
简单地说,git无法在不丢失提交的情况下对远程进行更改,因此它拒绝推送.
通常这是由另一个用户推送到同一分支引起的.您可以通过获取和合并远程分支或使用pull来同时执行这两个操作来解决此问题.在其他情况下,此错误是通过使用
git commit --amend或等命令在本地进行的破坏性更改的结果git rebase.
虽然你可以通过添加覆盖远程--force的push命令,你应该只能这样做,如果你是绝对肯定这是你想要做什么.
强制推送可能会导致已经获取远程分支的其他用户出现问题,并被视为不良做法.如有疑问,请勿强行推动.
Git不能像快速合并一样对遥控器进行更改,Visual Git Reference就是这样说的:

这不完全是你的情况,但有助于看到"快进"是什么(HEAD分支的简单地移动到新的更新的提交).
" branch master->master (non-fast-forward) Already-up-to-date"通常用于不跟踪其远程对应部分的本地分支.
例如,参见这个问题" git pull说最新但git push拒绝非快进 ".
或者这两个分支是相连的,但不同意他们各自的历史:
见" 永无止境的GIT故事 - 我在这里做错了什么? "
这意味着您的subversion分支和远程git master分支不同意某些内容.
某些更改被推送/提交到一个不在另一个中的更改.
火了gitk --all,它应该给你一个关于出了什么问题的线索 - 在历史中寻找"叉子".
min*_*ate 52
这意味着已经推送到远程存储库的其他提交与您的提交不同.你通常可以用一个解决这个问题
git pull
在推之前
最终,"快进"意味着提交可以直接应用于工作树的顶部而无需合并.
永远不要做某事git -f,push因为它可能会导致以后的灾难性后果。
你只需要做一个git pull你当地的分支机构。
前任:
git pull origin 'your_local_branch'
然后做一个 git push
小智 7
在这种情况下,您可能需要对推操作使用强制
git push origin master --force
| 归档时间: | 
 | 
| 查看次数: | 171066 次 | 
| 最近记录: |