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

来源: http://blog.csdn.net/arkblue/article/details/9568249/

1 查看远程分支

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ git branch -a  
  2. * br-2.1.2.2  
  3.   master  
  4.   remotes/origin/HEAD -> origin/master  
  5.   remotes/origin/br-2.1.2.1  
  6.   remotes/origin/br-2.1.2.2  
  7.   remotes/origin/br-2.1.3  
  8.   remotes/origin/master  

2 查看本地分支

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
  2. $ git branch  
  3. * br-2.1.2.2  
  4.   master  

3 创建分支

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
  2. $ git branch test  
  3.   
  4. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
  5. $ git branch  
  6. * br-2.1.2.2  
  7.   master  
  8.   test  


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

扫描二维码关注公众号,回复: 3346782 查看本文章
[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ git push origin test  

4 切换分支到test

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
  2. $ git branch  
  3. * br-2.1.2.2  
  4.   master  
  5.   test  
  6.   
  7. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
  8. $ git checkout test  
  9. M       jingwei-server/src/main/java/com/taobao/jingwei/server/service/cmd/GetCustomerTarCmd.java  
  10. M       jingwei-server/src/main/java/com/taobao/jingwei/server/util/ServerUtil.java  
  11. Switched to branch 'test'  
  12.   
  13. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)  
  14. $ git branch  
  15.   br-2.1.2.2  
  16.   master  
  17. * test  

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

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

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

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ git checkout br-2.1.2.2  
  2. M       jingwei-server/src/main/java/com/taobao/jingwei/server/service/cmd/GetCustomerTarCmd.java  
  3. M       jingwei-server/src/main/java/com/taobao/jingwei/server/util/ServerUtil.java  
  4. Switched to branch 'br-2.1.2.2'  
  5.   
  6. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
  7. $ git br  
  8. * br-2.1.2.2  
  9.   master  
  10.   test  
  11.   
  12. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
  13. $ git br -d test  
  14. Deleted branch test (was 17d28d9).  
  15.   
  16. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (br-2.1.2.2)  
  17. $ git br  
  18. * br-2.1.2.2  
  19.   master  

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

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. 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
  在CODE上查看代码片 派生到我的代码片
  1. $ git remote  -v  
  2. origin  [email protected]:middleware/jingwei.git (fetch)  
  3. origin  [email protected]:middleware/jingwei.git (push)  


[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. shuohailhl@SHUOHAILHL-PC /f/ggg/jingwei (test)  
  2. $ git branch -a  
  3.   br-2.1.2.2  
  4.   master  
  5. * test  
  6.   remotes/origin/HEAD -> origin/master  
  7.   remotes/origin/br-2.1.2.1  
  8.   remotes/origin/br-2.1.2.2  
  9.   remotes/origin/br-2.1.3  
  10.   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
  在CODE上查看代码片 派生到我的代码片
  1. git push origin :<分支名>
  2. git branch -d <分支名> //删除分支
  3. git branch -D <分支名> //如果分支没有合并到主分支会报错, 使用 -D 强制删除

git push origin :branch-name
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

猜你喜欢

转载自blog.csdn.net/du_minchao/article/details/52156572