分支操作
1,列出所有本地分支 git branch
2、列出所有远程分支 git branch -r
3、列出所有本地分支和远程分支 git branch -a
4、新建一个分支,但依然停留在当前分支 git branch [branch-name]
例如,创建名称为dev的分支: git branch dev
5、新建一个分支,并切换到该分支 git checkout -b [branch]
例如,创建名称为dev的分支并切换到该分支上 git checkout -b dev
6、切换到指定分支,并更新工作区 git checkout [branch-name]
例如,切换到dev分支上 git checkout dev
7、合并指定分支到当前分支 git merge [branch]
例如,当前在master分支上,将dev分支合并到当前master分支上来 git merge dev
8、删除分支 git branch -d [branch-name]
例如,删除本地dev分支 git branch -d dev
9、将本地master分支推送到远程服务器 git push origin master
10、删除远程分支 git push origin --delete <branchName>
11,克隆指定分支到本地 git clone -b [branch分支名称] [git地址] 备注: git clone 默认是克隆master分支,可以使用-b参数指定具体的分支,实际上-b参数不仅支持分支名,还支持tag名称等 git clone -b <branch-or-tag-or-commit> [git 地址]
例如,删除远程的dev分支 git push origin --delete dev
否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支: git branch -d <branchName> git push origin :<branchName>
标签(tag)操作
1、列出所有tag,加上-l参数可以使用通配符过滤tag git tag 例如: git tag -l "v1.*"
2、打轻量标签 git tag [tag name]
3、附注标签 git tag -a [tag name] -m [message]
例如,打v1.0标签 git tag -a v1.0 -m 'v1.0 release'
4、后期打标签 git tag -a [tag name] [version]
5,给指定的commit id打标签 打tag不必要在head之上,也可以在之前的版本上,可通过git log获取之前的提交的版本commit id git tag -a [tag标签] [commit id]
git tag -a [tag标签] [commit id] -m "your message" 例 如: git tag -a v1.1 9cbf3d0
6、删除本地tag git tag -d [tag]
例如,删除本地v1.0 标签 git tag -d v1.0
7、删除远程tag git push origin --delete tag <tagname>
还有另外一种方式来删除,推送一个空tag到远程 git tag -d <tagname> git push origin :refs/tags/<tagname>
8、 查看tag信息 git show [tag]
9、提交指定tag git push [remote] [tag]
例如,将v1.0标签推送到远程服务器上 git push origin v1.0
10、提交所有tag git push [remote] --tags
10,获取指定tag内容 git clone -b [tag标签] [git地址]
重命名远程分支
在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。
例如,把远程分支dev重命名为develop,操作如下: 1.删除远程分支: $ git push --delete origin dev
2.重命名本地分支: git branch -m dev develop
3.推送本地分支: git push origin develop
版本回退
1,我们可以使用git log命令查看历史记录,并根据实际情况进行版本回退,如果嫌输出信息太多,可以加上--pretty=oneline参数 首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100 例如:回退到上一个版本,我们可以使用git reset命令 git reset --hard HEAD^ 然后我们用git log再看看现在版本库的状态 git log
2,当然我们还可以根据commit id进行版本回退 git reset --hard [commit id]
小结
1,HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
2, 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
3,要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。