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分支的使命已经完成了)。
先引入两张图片新建一个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分支的使命已经完成了)。
相关文章推荐
- 每天小练笔3-简单密码
- C/C++文件夹 的操作
- 将父类activity context传递给fragment
- 单链表复习
- Ubuntu 硬盘分区相关操作
- 模式识别几何分类算法实现(一)
- javascript它【蛇系列】第一弹:简单的蛇实现
- javascript中的作用域
- 单链表复习
- 【J2EE性能分析篇】JVM参数对J2EE性能优化的影响【转】
- bzoj1251 序列终结者 splay
- 大约 Apple Metal API 一些想法
- Proxy Pattern 代理模式
- Android ScrollView水平自动滚动
- 2012年5月SAT香港真题解析
- spring mvc DispatcherServlet详解之前传---FrameworkServlet
- Linux远程管理器xshell和xftp使用教程
- "XXXX" is not translated in ja, zh
- RedHat6.5网络yum配置
- android 编写content_provider对外共享数据