Git本地分支和远程分支关联
git本地分支和远程分支如何关联
首看这个:
git学习中文文档
Git 分支 - 远程分支
一、创建新的本地分支并切换到新分支
git checkout -b new_branch-name
二、将本地分支推送到远程库
git push origin HEAD:new_remote_branch_name//创建一个远程分支,将所在分支推送到远程库新建的分支中
git push origin HEAD//创建一个同名的远程分支,将所在分支推送到远程库同名分支中
HEAD指向当前所在分支,可以认为是当前分支的别名。
用法:git push <本地分支名>:<远程分支名>
三、删除本地分支
git branch -d branch_name
四、删除远程分支
git push origin --delete remote_branch_name
五、跟踪远程分支
1、如果本地新建了一个分支 branch_name,但是在远程没有。(需要建立本地到远程仓库的链接,这样代码才可以直接通过pull提交上去)
这时候 push 和 pull 指令就无法确定该跟踪谁(将本地分支直接推送到远程时并没有跟踪),一般来说我们都会使其跟踪远程同名分支,所以可以利用
git push --set-upstream origin branch_name/HEAD
这样就可以自动在远程创建一个 branch_name 分支或本地同名分支,然后当前所在本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步,无需指定分支。
2、如果远程新建了一个分支,本地没有该分支,可以用
git checkout --track origin/branch_name
这时候本地会新建一个分支名叫branch_name,会自动跟踪远程的同名分支branch_name。
这些可以跟踪信息可以用
git branch -vv
或者在.git/config中看到。
Note
“origin” 并无特殊含义
远程仓库名字 “origin” 与分支名字 “master” 一样,在 Git 中并没有任何特别的含义一样。 同时 “master” 是当你运行 git init 时默认的起始分支名字,原因仅仅是它的广泛使用, “origin” 是当你运行 git clone 时默认的远程仓库名字。 如果你运行 git clone -o booyah,那么你默认的远程分支名字将会是 booyah/master。