What's the git equivalent of "svn update -r"?
GitSvnGit SvnGit CheckoutSvn UpdateGit Problem Overview
I'm a recent git convert. It's great to be able to use git-svn to keep my branches locally without disturbing the svn server. There was a bug that existed in the latest version of the code. I wanted to establish a time when it worked so that I could use git bisect. I couldn't find the right command to move back in time. Thanks.
Git Solutions
Solution 1 - Git
git checkout HEAD~1
This will move your current HEAD to one revision earlier.
git checkout <sha>
This will move your current HEAD to the given revision. Use git log
or gitk
to find the revision you’re looking for.
Solution 2 - Git
And getting back to latest (equivalent to: svn up), you'll need to update the branch, usually:
git checkout master
This is because the HEAD refers to the version that is being checked out.
Solution 3 - Git
git pullseems a more appropriate command for what you are looking for
Solution 4 - Git
This seems to do what I wanted, which is what I think you're asking for too
git checkout *
Solution 5 - Git
If you are using TortoiseGit then
Right Click in project folder > TortoiseGit > Pull
Solution 6 - Git
Update 2019: the proper command would be
git restore -s @~1
(to, for instance, restore files at their state in HEAD parent commit)
That is because:
-
git checkout
is too confusing, dealing both with branches and files.
git restore
only... restore files, since Git 2.23 (August 2019).
No need forgit checkout HEAD~ -- .
-
Git 1.8.4 introduced
@
as a shortcut notation forHEAD
.
Solution 7 - Git
There is no exact equivalent of svn update in git. If you delete a file, it will show as deleted status even if you pull it again. Only option is to checkout that file. If you have deleted multiple files by mistake and want to bring back them, You could rename that repo and clone it once again. This is what i do.