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 分支衍合
9
删除远程版本
[plain] view
plain copy
git push origin :<分支名>
git branch -d <分支名> //删除分支
git branch -D <分支名> //如果分支没有合并到主分支会报错, 使用 -D 强制删除
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
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上,相当于删除该分支。
相关文章推荐
- jQuery中验证输入信息是否符合标准
- 二叉树中和为某一值的路径
- Hi3520D 串口使用实例
- TimePicker
- 全国企业信用信息 网站
- hdu 5178 pairs(尺取法求解)
- 【工具】GDB调试精粹
- 【JavaScript】排序算法
- NumberPicker
- MATLAB R2011a Command Window
- Xcode And iOS9新特性
- Yeoman 官网教学案例:使用 Yeoman 构建 WebApp
- UML基础:统一建模语言简介
- jquery 页面内编辑的表格
- UFLDL cnnConvolve.m
- C++:可调用对象与function
- listView常用方法小记
- [Lintcode]Best Time to Buy and Sell Stock
- hdu_2328_Corporate Identity(暴力枚举子串+KMP)
- Java链式方法