Git pulling a branch from another repository?

Solution 1:

You need to make sure that git status shows that no unstaged changes exist in your local repository.
You can do this by first stashing your local changes and than pulling that branch. Afterward you can apply your stash.


If you want to re-create the branch structure of the fork in your local repository, you can do the following:

git remote add fork <url of fork>
git fetch fork
git checkout -b fork_branch fork/<branch>

This will create the local branch fork_branch with the same history like <branch> in the fork, i.e. fork_branch will branch off of your master where <branch> does in the fork. Additionally, your local branch will now track that branch in the fork, so you can easily pull in new changes committed in the fork.

I think you still need to make sure beforehand that your working copy doesn't contain any changes.

Solution 2:

Method without adding remote.

git checkout --orphan fork_branch
git reset --hard
git pull <url of fork> <branch>