How do I get the latest version of my code?
I'm using Git 1.7.4.1.
I want to get the latest version of my code from the repository, but I'm getting errors:
$ git pull
….
M selenium/ant/build.properties
….
M selenium/scripts/linux/get_latest_updates.sh
M selenium/scripts/windows/start-selenium.bat
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as appropriate to mark resolution, or use 'git commit -a'.
I've deleted the local copies of the files the tool is complaining about, but I still get the errors.
How do I check out the latest version from the remote repository?
Solution 1:
If you don't care about any local changes (including untracked or generated files or subrepositories which just happen to be here) and just want a copy from the repo:
git reset --hard HEAD
git clean -xffd
git pull
Again, this will nuke any changes you've made locally so use carefully. Think about rm -Rf
when doing this.
Solution 2:
Case 1: Don’t care about local changes
-
Solution 1: Get the latest code and reset the code
git fetch origin git reset --hard origin/[tag/branch/commit-id usually: master]
-
Solution 2: Delete the folder and clone again :D
rm -rf [project_folder] git clone [remote_repo]
Case 2: Care about local changes
-
Solution 1: no conflicts with new-online version
git fetch origin git status
will report something like:
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
Then get the latest version
git pull
-
Solution 2: conflicts with new-online version
git fetch origin git status
will report something like:
error: Your local changes to the following files would be overwritten by merge: file_name Please, commit your changes or stash them before you can merge. Aborting
Commit your local changes
git add . git commit -m ‘Commit msg’
Try to get the changes (will fail)
git pull
will report something like:
Pull is not possible because you have unmerged files. Please, fix them up in the work tree, and then use 'git add/rm <file>' as appropriate to mark resolution, or use 'git commit -a'.
Open the conflict file and fix the conflict. Then:
git add . git commit -m ‘Fix conflicts’ git pull
will report something like:
Already up-to-date.
More info: How do I use 'git reset --hard HEAD' to revert to a previous commit?