您的位置:首页 > 其它

git 查看、创建、切换、合并、删除分支

2016-08-08 22:57 495 查看
来源: http://blog.csdn.net/arkblue/article/details/9568249/

1 查看远程分支

[plain] view
plain copy

 





$ git branch -a  

* br-2.1.2.2  

  master  

  remotes/origin/HEAD -> origin/master  

  remotes/origin/br-2.1.2.1  

  remotes/origin/br-2.1.2.2  

  remotes/origin/br-2.1.3  

  remotes/origin/master  

2 查看本地分支

[plain] view
plain copy

 





shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  

$ git branch  

* br-2.1.2.2  

  master  

3 创建分支

[plain] view
plain copy

 





shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  

$ git branch test  

  

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  

$ git branch  

* br-2.1.2.2  

  master  

  test  

线面是把分支推到远程分支 

[plain] view
plain copy

 





$ git push origin test  

4 切换分支到test

[plain] view
plain copy

 





shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  

$ git branch  

* br-2.1.2.2  

  master  

  test  

  

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  

$ git checkout test  

M       jingwei-server/src/main/java/com/taobao/jingwei/server/service/cmd/GetCustomerTarCmd.java  

M       jingwei-server/src/main/java/com/taobao/jingwei/server/util/ServerUtil.java  

Switched to branch 'test'  

  

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)  

$ git branch  

  br-2.1.2.2  

  master  

* test  

M 表示cong 原来分支(上一次修改没有提交br-2.1.2.2)带过来的修改

5 删除本地分支   git branch -d xxxxx

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)

[plain] view
plain copy

 





$ git checkout br-2.1.2.2  

M       jingwei-server/src/main/java/com/taobao/jingwei/server/service/cmd/GetCustomerTarCmd.java  

M       jingwei-server/src/main/java/com/taobao/jingwei/server/util/ServerUtil.java  

Switched to branch 'br-2.1.2.2'  

  

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  

$ git br  

* br-2.1.2.2  

  master  

  test  

  

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  

$ git br -d test  

Deleted branch test (was 17d28d9).  

  

shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  

$ git br  

* br-2.1.2.2  

  master  

6 查看本地和远程分支  -a。前面带*号的代表你当前工作目录所处的分支

[plain] view
plain copy

 





remotes/origin/HEAD -> origin/master #啥意思呢?  

        ”在clone完成之后,Git 会自动为你将此远程仓库命名为origin(origin只相当于一个别名,运行git remote –v或者查看.git/config可以看到origin的含义),并下载其中所有的数据,建立一个指向它的master 分支的指针,我们用(远程仓库名)/(分支名) 这样的形式表示远程分支,所以origin/master指向的是一个remote branch(从那个branch我们clone数据到本地)“

       这个是执行 git remote -v 的结果,看出来origin其实就是远程的git地址的一个别名。

[plain] view
plain copy

 





$ git remote  -v  

origin  git@gitlab.alibaba-inc.com:middleware/jingwei.git (fetch)  

origin  git@gitlab.alibaba-inc.com:middleware/jingwei.git (push)  

[plain] view
plain copy

 





shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)  

$ git branch -a  

  br-2.1.2.2  

  master  

* test  

  remotes/origin/HEAD -> origin/master  

  remotes/origin/br-2.1.2.1  

  remotes/origin/br-2.1.2.2  

  remotes/origin/br-2.1.3  

  remotes/origin/master  

7 合并分支

//首先切换的master分支(把代码和并到master)
git checkout master。
//然后执行合并操作(把develop上的代码合并到master)
git merge develop。
/*如果有冲突,会提示你,调用git status查看冲突文件。解决冲突,然后调用git add或git rm将解决后的文件暂存。 所有冲突解决后,git commit 提交更改。*/

8 分支衍合

<span style="font-size:18px;">/*分支衍合和分支合并的差别在于,分支衍合不会保留合并的日志,不留痕迹,而 分支合并则会保留合并的日志。 要将开发中的分支(develop),衍合到稳定分支(master)。 */
//首先切换的master分支
git checkout master。
//然后执行衍和操作
git rebase develop。
/*如果有冲突,会提示你,调用git status查看冲突文件。解决冲突,然后调用git add或git rm将解决后的文件暂存。 所有冲突解决后,git rebase --continue 提交更改。</span>*/


9
删除远程版本

[plain] view
plain copy

 





git push origin :<分支名>

git branch -d <分支名> //删除分支

git branch -D <分支名> //如果分支没有合并到主分支会报错, 使用 -D 强制删除

git push origin :branch-name

冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: