Git 快进合并需要先拉取
我有一个远程存储库,上次克隆它时我已经更改了它。
本地存储库还更改了我本地存储库中的一些文件。
我想做的是推送到原始主机,但它说我需要先拉一下。
I have a remote repo which i have changed the last time i cloned it.
The local Repo also change some of the files in my local repo.
What i would like to do is push to origin master, but it says that i need to do a pull first.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在服务器更改拉取并与本地合并之前,git 不会推送本地更改。
因此,当您要推送本地更改时,git 会提示先拉取(合并)服务器更改。
git拉
然后
git 推送
git does not push the local changes until the server changes has pull and merged with local.
so when you going to push the local changes then git prompt to pull (merge) server changes first.
git pull
then
git push
有关您在 git pull 上看到的冲突,请参阅“如何解决 git pull 后的冲突?”。
您可以解决手动合并冲突。
如果您的 git 打开 vim,请检查您的 mergetool 设置:“我的 git mergetool 在 vimdiff 中打开 4 个(不是 3 个)窗口”。
一旦所有冲突(由
git pull 触发
)得到解决、添加和提交,然后您就可以git push
。这会将新的提交添加到远程存储库历史记录中,从而使推送结果在远程端快速合并。
About the conflicts you can see on a
git pull
, see "How do I resolve a conflict after git pull?".You can solve a merge conflict manually.
If your git opens vim, check your mergetool settings: "My git mergetool open 4(not 3) windows in vimdiff".
Once all conflicts (triggered by the
git pull
) are resolved, added and committed, then you cangit push
.This will add new commits to the remote repo history, making the push result in a fast-foward merge on the remote side.
键入:
获取远程更改,并将它们与您的更改合并。
解决出现的任何冲突,然后键入
将本地更改(加上新的合并提交)发送回上游。
Type:
to fetch the remote changes, and merge them with your changes.
Resolve any conflicts which arise, and then type
to send your local changes (plus the new merge commits) back upstream.