**
Branch 操作
**
1、列出所有本地分支
$git branch
2、列出所有远程分支
$git branch -r
3、列出所有本地分支和远程分支
$ git branch-a
4、新建一个分支,但依然停留在当前分支
$git branch dev
5、切换到指定分支,并更新工作区
$git checkout dev
6、合并指定分支到当前分支
例如,当前在master分支上,将dev分支合并到当前master分支上来
$git merge dev
7、删除分支
例如,删除本地dev分支
$ git branch -d dev
9、将本地分支推送到远程服务器
$ git push origin dev
10、删除远程分支
$ git push origin --delete
例如,删除远程的dev分支
$ git push origin --delete dev
Tag操作
0、列出所有tag
$git tag
1、打标签,附注标签
$ git tag -a [tagname] -m [message]
例如,打v1.0标签
$ git tag -a v1.0 -m 'v1.0 release'
-
git tag 是命令
-
-a 1.0是增加名为1.0的标签
-
-m 后面跟着的是标签的注释
打标签的操作发生在我们commit修改到本地仓库之后。
2、提交
git add .
git commit -m “fixed some bugs”
git tag -a 0.1.3 -m “Release version 0.1.3″
3、 提交标签到远程服务器上
git push origin master
git push origin --tags
- –tags参数表示提交所有tag至服务器端,普通的git push origin master操作不会推送标签到服务器端。
-如果指定特性的taggit push origin [tagname]
4、后期打标签
$ git tag -a [tagname] [version]
5、删除本地标签
$ git tag -d [tag]
例如,删除本地v1.0 标签
$ git tag -d v1.0
删除远端服务器的标签
git push origin :refs/tags/0.1.3
重命名远程分支
在Git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。
例如,把远程分支dev重命名为develop,操作如下:
1.删除远程分支:
$ git push--delete origin dev
2.重命名本地分支:
git branch -m dev develop
3.推送本地分支:
$git push origin develop
重点:针对以往commit追加Tag
默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?
方法是找到历史提交的commit id,然后打上就可以了:
$ git log --pretty=oneline --abbrev-commit
12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101
4c805e2 fix bug 101
e1e9c68 merge with no-ff
f52c633 add merge
cf810e4 conflict fixed
5dc6824 & simple
14096d0 AND simple
b17d20e branch test
d46f35e remove test.txt
b84166e add test.txt
519219b git tracks changes
e43a48b understand how stage works
1094adb append GPL
e475afc add distributed
eaadf4e wrote a readme file
比方说要对add merge
这次提交打标签,它对应的commit id是f52c633
,敲入命令:
$ git tag v0.9 f52c633
注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show 查看标签信息:
$ git show v0.9
使用git checkout tag
即可切换到指定tag,例如:git checkout v0.1.0