首先从远程代码仓库中克隆一份代码, 直接用git clone remote_repository,
假设远程代码仓库有2个分支, master和test分支, 默认是master分支, git clone会克隆远程的所有分支到本地(可以用git branch -r查看远程的所有分支). 然后checkout 到默认的一个分支上, 这里默认的分支是master
clone代码以后, 可以切换到远程的test分支, 使用
git checkout origin/test, 这时候当前git目录处于 'detached HEAD' state, 此时需要用git checkout -b new_branch建一个新的分支(从test分支为起点建), 然后就可以在new_branch分支上修改代码了, 比如我们加一个文件, test,.c, 然后 git add test.c, 然后git commit -a -s 以后就能像test分支提交代码了
git push origin HEAD:refs/for/test (git push origin HEAD:test)
ps:
在new_branch更新upstream上游的代码, 可用git pull origin test
git 本地会有一个master, 对应远程的master, 如果远程有一个alpha1.0分支, 本地也会有一个和远程alpha1.0对应的本地分支, 操作和master一样
关于如何在多个分支直接提交代码
比如, 有2个分支, master和alpha, 在master上提交代码以后, 得到一个本次提交的commit id, 如果想要将本次提交再提交一份到alpha, 可以先git checkout alpha,然后使用git cherry-pick commit-id, 再git push origin alpha即可