问题
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.
回答1:
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
回答2:
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 can git push
.
This will add new commits to the remote repo history, making the push result in a fast-foward merge on the remote side.
回答3:
Type:
git pull
to fetch the remote changes, and merge them with your changes. Resolve any conflicts which arise, and then type
git push
to send your local changes (plus the new merge commits) back upstream.
来源:https://stackoverflow.com/questions/7724580/git-fast-forward-merge-requires-a-pull-first