您的位置:首页 > 其它

Git 分支(branch)

2015-07-07 13:34 225 查看
Git 分支包括两种本地分支和远程分支。

先引入两张图片新建一个test分支,master分支和test分支同时进行了操作。过程图如下,master的分支的头指针在一直往前移(每次提交都会往前移),test的分支的头指针也在一直往前移。



当master的指针进行到了L4,test分支的任务完成了到了L(test)2处,我们需要merge代码了,merge之后的结果如下图。



每个节点都是一次提交。

在本地和在远程服务器上面应该都会有这么个情况,因为我们可能在本地有多个分支,在远程服务器也有多个分支,操作情况是一样的。只是在同步push的时候那个本地分支同步到哪个远程分支的问题。

本地分支的一些操作。

1. git branch 列出当前所有的本地分支, 带*的分支表示当前所处分支。



2. git branch -v 列出当前所有的分支和各个分支最后一次提交的信息。



3. git branch –merge 查看那些分支已经被并入当前分支,换句话也就是说哪些分支是当前分支的直接上游。



4. git branch –no-merge 查看哪些分支没有合并到当前分支。

入下图表示没有。



5. git branch -d localtest 删除localtest分支,(-D强制删除)当分支合并到主分区之后,我们可以把他删掉,因为他的使命已经完成了。



远程分支

git + github(现在本地仓库和远程仓库是关联在一起的)我们先远程新建一个分支。

1. git push origin test:test 新建远程分支我先在本地新建了test本地分支,然后把本地分支test作为远程分支名上传到test远程分支。这样在远程就新建了一个test的远程分支了。



2. git branch -r 查看远程分支



3. git remote -v 查看远程分支的路径



在上面的基础上我们在本地test分支做一些修改,然后提交同时把代码同步到远程test分支(远程和本地分支名都是test你也可以换成其他的名字)

git push origin test:test 命令同步数据,同步成功之后。我们在github网站上面就可以看到两个远程分支了一个master,一个test分支。

同时master分支是没有我们刚才提交的修改的。因为我们是提交到了test分支上面。



test分支下面才有我们的刚才提交的修改。



github网站上面手动合并test分支到master分支。





成功之后再master分支下面可以看到log信息。



在把远程分支master的代码更新到本地

git pull origin master:master 这样就得到了远程master的修改。

git push origin :test 删除远程test分支(远程test分支的使命已经完成了)。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: