Let's say - hypothetically - that this is the output you get from git log --graph --oneline
.
* de65bbf < HEAD
* 189ca83
* 40c918c
* 5497694
|\
| * 5295fe4
* | 7879de1
|/
* 61f5fcb
Let's say, hypothetically, that work in commit 5295fe4 was done on a separate branch, then merged into master. The resultant merge commit at 5497694 is what you want to release into production.
Once you pull down the repository with git pull
, Git will include all of the work from that commit and a few others, which is to be expected - HEAD is a reference to the tip of your commit graph. I'd avoid the use of the rebase flag here if you can; rebasing is powerful, but if this is done on a branch where many people can see it, it could lead to some heartache.
If you really do know what you're doing with rebase, then more power to you. I'd recommend holding off until you feel fully comfortable with the nuances between Subversion and Git.
If you want to check out just that commit, then git checkout 5497694
will suffice. However, you're in a detached HEAD state - commits done here will create commit entries that aren't referenced by a branch, which makes it difficult to track. You can create a branch off of that commit and make changes to it there, of course.
If you want to formally declare this particular commit as releasable, then tagging it would be a better idea - run git tag version-number 5497694
instead, and that will create an easier reference to this specific commit.
Ultimately, though, you want to just pull down the changes with git pull
. If your work depends on a specific check-in being present, git pull
will sort you out.
As an aside, to answer an earlier question about pull vs checkout: pull will update your local branch(es) with the changes from the remote server; checkout is generally used for creating branches.