多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 参考资料: * [git branch官方API](https://git-scm.com/docs/git-branch) ## 实践总结: * 本地新分支提交时指定远程创建新分支, 成功后这两个分支是否有关联?(木有!) * 本地、远程两同名分支, 如果本地首次提交 git push 到该同名分支后, 这两分支是否就建立了关联?(木有!) > if you wish to set tracking information for this branch you can do so with: > git branch --set-upstream-to=origin/<branch> localBranchName * 如果希望本地分支与远程分支建立关联可使用: ``` git branch --set-upstream-to=origin/remoteBranchName localBranchName ``` ## git branch 常用指令: * git branch * 查看工程的分支列表(本地分支) * git branch -va * git branch -r * git branch -a * 查看分支列表(查看前建议 使用 `git pull -p` 更新下远程分支信息) * `-r` 只查看远程分支列表 * `-a` 查看远程及本地分支列表 * `-va` 查看详细的远程及本地分支列表 * git checkout remotes/origin/master * 切换到远程的 master 分支 * git checkout -b dev * 基于当前分支创建一个叫“dev”的分支,并切换到该分支,等于以下俩指令(-b 以当前分支为基础) * git branch dev 创建一叫“dev”的分支 * git checkout dev 切换到“dev”分支 * git branch -d dev * 将叫“dev”的本地分支删除掉(如果该分支代码未合并到其他分支,将无法删除) * git branch -D dev * 将叫“dev”的本地分支删除掉(强制删除,即使该删除的分支有未合并代码) * git branch -dr [origin/branch] * 相当于 `git branch -r -d origin/branch`删除的只是本地的缓存分支(`git branch -va`查看的那个),`git pull -p`可恢复; * git push origin --delete [branch-name] * 删除指定的远程分支(真正删除远程分支,需要当前账号的权限操作) * git log --graph * 查看分支合并情况(图方式显示) ## 实践场景: * 本地新建的分支, 分支代码已经合并到主分支(master),然后误删了, 怎么根据提交commit恢复该分支? * 使用 `git log -g`找回被误删分支之前提交的commit(如果找不到, 可以试试`git reflog`), 拷贝commitId; * 使用 `git branch branchName 3eac14d`(branchName为分支名、3eac14d为 commitId), 基于当时的commit创建一个新分支; * 切换到该新分支`git checkout branchName`查看代码, 就会发现该分支恢复了。 ## 相关指令: * [git_checkout.md](http://www.kancloud.cn/wteamxq/git_rank/276599) 切换代码分支指令:使用git分支必定会用到我! * [git_merge.md](http://www.kancloud.cn/wteamxq/git_rank/276600) 合并分支指令:注意我合并的是**本地分支** 代码; * [git_pull.md](http://www.kancloud.cn/wteamxq/git_rank/276484) 更新、合并指令: 我能合并**远程分支**的代码哟!