关于Git 分支管理

匆匆过客 提交于 2019-12-05 07:25:04

关于Git 分支管理

查看分支:git branch // 会展示出所有的分支列表星号为当前
创建分支:git branch <name>
切换分支: git checkout <name>
创建并切换分支:git checkout -b <name>
合并某分支到当前分支: git merge <name>
删除分支:git branch -d <name>
创建空分支:git checkout --orphan <branchname> 然后删除掉里面的文件 git rm -rf .

分支管理

  • master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活
  • dev 分支用来开发,等要发布的时候,再把dev分支合并到master上,在master分支发布1.0版本 在合并的时候加上 --no-ff参数可以使用普通模式合并,合并后的历史会有分支记录
    git merge --no--ff -m "注释" dev 因为本次合并要创建一个新的commit,所以加上-m参数并写上描述

远程仓库一般只维护两个分支 master 和 dev

其他分支一般在本地操作即可,如果需要其他人共同开发这个分支,可以推送到远程服务器
分支的好处在于同时进行多个任务的时候。比如正在任务A,只进行了一半,突然有bugB需要修改,那么可以在本地单独创建一个修改bugB的分支。完善后可在本地合并提交。可以避免另一部分代码没写完提交尴尬的处境,因为一半的代码提交上去不太好,不提交,得先删除一下这个代码。如果是多个分支,就不会相互干扰

提交建议:

一个功能一次提交,带上本次修改功能描述,而不一定要等到所有功能都完成后才提交。这样在后来查看修改记录的时候很好,不至于一个提交记录里一个文件里有N多功能影响查看。

bug 分支

如果是修复bug,则需要临时创建分支,要把之前写了一半不能提交的代码先用 git stash 存储起来

先要确定从哪个分支上修复bug,如果是master分支上修复,就从master创建临时分支,修复后,合并到master, 然后删除issue-101

git stash 存储工作区
git stash list 查看stash工作区的列表
git stash apply 恢复不删除工作区
git stash drop 删除工作区
git stash pop 恢复并删除工作区

新特性分支

新特性就从dev 上创建分支
git branch -D 分支名 // 强行删除未合并的分支 一般使用feature表明

标签管理

发布一个版本时,通常在版本库中打上标签,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

查看标签:git tag
创建标签:git tag v1.0
给某个提交记录打上标签:git tag v0.9 commitid
创建带有说明的标签:
git tag -a v0.1 -m "version 0.1 released" commitId -a后是标签名 -m后是说明文字
删除标签:git tag -d v0.1
推送某个标签:git push origin v1.0
推送所有标签:git push origin --tags
删除远程标签:先删除本地标签,然后推送,写法有点不一样 git push origin :refs/tags/<tagname>

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!