GIT 分支操作
查看分支
// 查看本地分支
git branch -a
// 查看远程分支
git branch -r
// 查看所有分支
git branch -a
推送分支到远程
git push origin guyue[本地分支名]:guyue[远程分支名]
i. 前面有(*)号表示当前分支
ii. 前面有(remote)表示远程分支
删除分支
// 删除本地分支。当前指向不能是要删除的分支,否则会报错.
git branch -d 分支名
// 删除远程分支
git push origin :guyue[远程分支名]
删除远程已经不存在, 本地存在的分支
查看本地分支的同步情况
git remote show origin
* remote origin
Fetch URL: http://gitlab.guyue.net/cdata/guyue.git
Push URL: http://gitlab.guyue.net/cdata/guyue.git
HEAD branch: master
Remote branches:
master tracked
refs/remotes/origin/guyue_1106_newFeature stale (use 'git remote prune' to remove)
guyue_new_test_1112 tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
运行命令: 删除远程已经删除, 本地还存在的分支
git remote prune origin
再次查看本地分支同步情况:
* remote origin
Fetch URL: http://gitlab.guyue.net/cdata/guyue.git
Push URL: http://gitlab.guyue.net/cdata/guyue.git
HEAD branch: master
Remote branches:
master tracked
guyue_new_test_1112 tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
分支合并
// 在 newFeature_guyue_1014 分支编写,并提交代码
git push
// 切换master分支
git checkout master
// 拉取master最新代码
git pull
// 操作合并 newFeature_guyue_1014 到master
git merge --no-ff -m "merged add newFeature_guyue_1014" newFeature_guyue_1014
// 提交新的master到远端
git push
克隆分支,或者 获取某个 Tag 下的代码
git clone --branch 分支号 git地址
git clone --branch otter-4.2.13 https://github.com/alibaba/otter.git
切换分支
// 切换本地分区
git checkout 分支名
// 切换远程分支
git checkout -b 本地分支名 远程分支地址
查看某个分支的 SHA
git cat-file -p 版本唯一ID
git cat-file -p 37c20ae7b5940c1eca5728a5adfe9d589efe46d6
tree bd89485065c6e2f9f6d70566bc46806799636776
parent f9f5e448de0be51578b18ebc73cb7e816406b589
author agapple <jianghang.loujh@alibaba-inc.com> 1467360493 +0800
committer agapple <jianghang.loujh@alibaba-inc.com> 1467360493 +0800
[maven-release-plugin] prepare release otter-4.2.13