I have a clone of a remote repository. I updated its remote url to my own server. Then I did some commits and pushed them to my repository. Now I need to pull some changes from the initial repository. From a specific branch. I can do it by running
git pull http://example.com/repo.git example_branch
This will pull every new commit from example_branch
(and actually I will get a dev version). But this example_branch
has tags. And I need to stop pulling at a certain one (get a stable release in my case).
How can I do that?
UPD Finally I came up with:
git remote add example http://example.com/repo.git
git fetch
git merge tag_name
Below, you can find several ways to pull a specific commit from the Git repository. Using this, you can fetch the changes from the remote repository and then locate the commit’s hash you want to merge to the local codebase. You can refer to the following steps:
For e.g., “v1.0, RC1.0” are some ways to name a commit. Tags can be classified as − A Lightweight tag is also known as a simple tag. These tags use a name to refer to a specific commit. Lightweight tags are private to a repository. These are just pointers to a specific commit.
Then "git pull" will fetch and replay the changes from the remote master branch since it diverged from the local master (i.e., E) until its current commit (C) on top of master and record the result in a new commit along with the names of the two parent commits and a log message from the user describing the changes.
The git commit is a 40-digit hexadecimal SHA1 hash. Quite often we need to bookmark a as the commit hash is difficult to memorize. This is where one can use tags. Tags can be used to name a commit.
git pull
is just a git fetch
followed by a git merge
. So you can easily do a git fetch
and then merge the desired commit / tag.
A git repository can supports multiple remote.
In your case, you need to add a second remote (with your old server):
git remote add old_server http://example.com/repo.git
Then you can simply fetch from it:
git fetch old_server
At last, merge the specific commit you want to grab into your project.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With