git branch使用

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路git branch使用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

帮助文档

用下面的命令,查看git branch的帮助文档

git help branch
或者
git branch --help

常用命令

下面的branchName代表真实的分支名称

列出所有的本地分支
git branch

查看所有本地分支和远程分支(远程仓库已经删除的分支在本地依然可以看到),远程分支默认用红色标示
git branch -a 或者 git branch --all

查看所有远程分支
git branch -r

新建本地分支
git branch <branchName>

切换到该分支
git checkout <branchName>

新建一个分支,并同时切换到那个分支(是上面两条语句的简写)
git checkout -b <branchName>

基于branchName1新建一个分支,并同时切换到那个分支:
branchName1 可以是一个远程分支;
git checkout -b <branchName> <branchName1>

删除本地分支
git branch -d <branchName> 
或者 
git branch --delete <branchName>

删除本地分支,--delete --force 的快捷方式
git branch -D <branchName>

查看当前所有本地分支的情况, 并且会显示各个分支最后一次提交信息
git branch -vv

查看当前所有本地和远程分支的情况, 并且会显示各个分支最后一次提交信息
git branch -va

将本地分支和远程分支进行关联,以后pull和push的时候,就不用指定远程分支
git branch --set-upstream-to=origin/<branch> <localBranch>

如果需要删除远程分支,请参考我的另一篇博客中的git push命令汇总:
git push

相关

git remote命令

git remote show origin	可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息
git remote prune origin	删除本地那些远程仓库不存在的分支

常见问题

远程分支存在,如何创建相应的本地分支

git fetch: 相当于是从远程获取最新版本到本地,不会自动merge

如果本地没有看到远程仓库,先用git fetch命令拉取;
将远程git仓库里的指定分支拉取到本地(本地不存在的分支):拉取远程分支并创建本地分支
git checkout -b <localBranch> origin/<remoteBranch>
使用该方式会在本地新建分支x,并自动切换到该本地分支x。
采用此种方法建立的本地分支会和远程分支建立映射关系。

或者
git fetch origin <remoteBranch>:<localBranch>
使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。
注意:采用此种方法建立的本地分支不会和远程分支建立映射关系。

本地创建的分支推到远程仓库,并建立关联

本地分支推到远程仓库

git checkout master
git pull
git checkout -b release-xx-v1.0.0
通过上面的方式已经在本地创建了分支

git push origin release-xx-v1.0.0:release-xx-v1.0.0
-- 按照上面的操作,可以将本地分支推送到远程仓库;但是该方式不会将本地分支和远程进行关联;

pull 或 push 操作时,需要指定远程分支,如果下命令:
git pull <remote> <branch>
git push <remote> <branch>

例子:
git pull origin release-xx-v1.0.0
git push origin release-xx-v1.0.0

本地分支和远程分支关联,

具体有2种方式:

git branch --set-upstream-to=origin/<branch> release-xx-v1.0.0

或者
## 首次推送本地分支的时候,加上参数-u
git push origin -u release-xx-v1.0.0:release-xx-v1.0.0

远程分支已经删除,但是本地还可以看到,如何删除

git branch -a	查看所有的远程分支 
发现被删除的分支仍可看到

解决方案: 
git remote prune origin		删除仓库不存在的分支

git feature分支远落后于develop分支

1. 进入到自己的feature分支
git checkout <featureBranchName>
2. 把该分支上修改的内容暂存起来
git stash
3. 切到develop分支
git checkout develop
4. 拉取最新的develop分支内容
git pull
5. 切到feature分支,merge最新develop分支
git checkout <featureBranchName>
git merge develop
6. 恢复之前暂存的内容
git stash pop

如何重命名分支名字

  • 重命名本地分支
如果在需要被重命名的分支上,使用下面的命令:
git branch -m <new_branch_name>

如果不在需要被重命名的分支上,使用下面的命令:
git branch -m <old_branch_name> <new_branch_name>

  • 重命名远端分支(假设是在当前分支,并且远端分支与本地分支名是一致的)
重命名本地分支
git branch -m <new_branch_name>

删除远程分支
git push --delete origin <old_branch_name>

上传新命名的本地分支
git push origin <new_branch_name>

关联修改后的本地分支与远程分支
git branch --set-upstream-to=origin/<new_branch_name>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155856.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!