繁体   English   中英

git可以合并和获取,但不能推和拉

[英]git can merge and fetch but not push and pull

我知道这类问题到处都有,但我发现的答案都没有帮助。 典型问题:

[me@my_server]$ git merge origin development
Already up-to-date. Yeeah!
[me@my_server]$ git push origin development
To ssh://git@git.work.com:8022/my_project
 ! [rejected]        development -> development (non-fast-forward)
error: failed to push some refs to 'ssh://git@git.work.com:8022/my_url'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

推送错误对我说的是某些内容不同步。 如果在提交链的某个位置接受我的推送,那么某些提交的历史将丢失。 与其以线性方式将每个更改提交到远程开发分支,不如接受我的推送将强制发生非线性更改。

解决方案是将开发中发生的一切合并到我的本地分支中,对吗? ...但是我的分支机构已经完全更新了开发。 因此,如果除了我尝试的一个更改(我刚刚制作了一个新文件)之外的两个分支都匹配,那为什么拒绝呢? 这个异常的非快速提交在哪里? 我可以检查一些日志来找到有问题的孩子并将其销毁吗?

谢谢

您试图在不检查原始/开发状态的情况下进行开发,这可能与您不同步(因此被拒绝)。 您可能想要git pull origin development (它将获取起源/开发中的更改并将您的内容合并到其中),然后git push origin development (这将推动您的新更改,并合并到Origin的最新内容之上)到服务器,以使其能够在此处进行快速转发合并)。 如果您想以这种方式执行git pull --rebase而不是合并,也可以这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM