I've seen this command floating around on various sites.
git checkout --track -b <...>
If I create a bare repo on a remote server and work from two different locations, what is the quickest and "approved" way of doing so?
What I did was, I created the initial repo on my laptop and then pushed the changes to the "origin" where my VPS repo is (the bare repo). Now, on my desktop, should I be cloning my repo? I ask because I have two branches, "dev" and "master." Once I'm on my desktop, I wasn't sure if I should be "tracking" the repo or should I be cloning first? What if I wanted to work on the dev branch, is that when I checkout using the --track directive?
Here's what I've done so far.
On laptop
cd devproject
git init
git add .
git commit -m "My first commit"
On VPS Repo
mkdir /home/sam/devproject.git
cd /home/sam/devproject.git
git --bare init
exit
Back to laptop
cd devproject
git remote add origin ssh://myserver.com/home/sam/devproject.git
On Desktop (??)
git clone <..>
You clone a repository, but you track a branch. The checkout command you posted is not complete:
git checkout --track -b new_local_branch_name origin/remote_branch_name
Thus the required steps would be:
The command above will not work if you're not in a repository. To work with git, you must always first create a repository, either by cloning one which already exists or using git-init
and starting from scratch.
git checkout --track -b <branch> <remote-branch>
git checkout --track <remote-branch>
These two commands create a new local branch to track <remote-branch>
. The first one manually names it <branch>
; the second uses the same name as the remote.
Remember that tracking doesn't mean automatic update - it simply does things like specifying where the branch should push/pull from and letting git status give those "your branch is behind origin/master by 5 commits, and can be fast-forwarded" messages.
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