There is somthing I don't get yet with git. It is branch.
So let say that I have a local repository A
which I clone from a remote one B
.
So now A
have the master branch checked out.
So when I push from A
it goes to B
master.
B
is just a clone on github, a clone of C
.
From time to time in other to get in sync I pull from C
master branch.
But now C
master branch is quite broken for the time being.
Since from A
I had pull from C
my local A
is also bugy.
So I would like from A
to pull the C
stable branch.
How do you guys usually do in this situation?
Do you create a new branch on A
and pull from C
. But since A
have the C
master change I need to revert it first...
The git checkout command allows you to switch branches by updating the files in your working tree to match the version stored in the branch that you wish to switch to. You can think of it as a way of switching between different workspaces.
Use the git switch - (Or git checkout - ) to switch to the previous branch you were working with. This is pretty similar to the cd - command, which is used to switch to the previous directory.
When you switch a branch, all files that are under control of Git will be replaced with the state of the new branch. That includes changes to files as well as additions and deletions. In your case this means that you have some files in your current 'local' branch that simply do not exist in the master.
git fetch C
git checkout C/stable-branch
git checkout -b myCopy
Then myCopy
is a local (copied) branch of C's stable one.
In two lines:git fetch C
git checkout -b myCopy -t C/stable-branch
myCopy is now a local branch of C/stable-branch, and is tracking it, so you can do git push
and git pull
without a refspec.
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