已被拉出,结果仍然是错误
! [rejected] dev->dev(non-fast-forward)
D:\PPI_Roketin\Project\astrowatch (dev)
λ git add resources/views/reals/_form.blade.php
D:\PPI_Roketin\Project\astrowatch (dev)
λ git commit -m "resources/views/reals/_form.blade.php"
[dev db5ac99] resources/views/reals/_form.blade.php
1 file changed, 2 insertions(+), 2 deletions(-)
D:\PPI_Roketin\Project\astrowatch (dev)
λ git push origin dev
To gitlab.com:roketin-stellar/astrowatch.git
! [rejected] dev -> dev (non-fast-forward)
error: failed to push some refs to 'git@gitlab.com:roketin- stellar/astrowatch.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
这样的错误,为什么?
已经执行了git checkout,并重复了该命令,仍然像上面一样错误
答案 0 :(得分:2)
这是经典的git错误。错误消息Updates were rejected because the tip of your current branch is behind
中描述了该问题,这意味着对本地没有的远程分支进行了更改。有很多方法可以解决此问题,其中一种方法也在git消息中描述:Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again.
如果您进行git pull origin dev
,这会将对远程所做的任何更改合并到本地分支。解决合并冲突后,即可推送分支。
另一种选择是通过执行git pull --rebase origin dev
来运行基准,这将带来远程更改并在远程提交的基础上重新确定您的提交。这将使git历史更清晰。
目前最简单的方法可能只是执行一个git pull
,然后在正确合并后将其推送到您的遥控器。
我绝对建议您研究git命令并学习如何在文档中正确找到资源。在线上有很多可用的东西。
答案 1 :(得分:1)
您可以尝试git reset --hard HEAD
请注意:
HEAD指向您当前的分支(或当前提交),因此git reset --hard HEAD要做的就是丢弃您的所有未提交的更改。
答案 2 :(得分:0)
这很容易解释,如果要提交,则需要与远程分支保持最新,并且git pull会覆盖您已对其进行更改的文件。您应该首先提交更改。