关于Git 分支管理

关于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 .git

分支管理

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

远程仓库通常只维护两个分支 master 和 dev服务器

其余分支通常在本地操做便可,若是须要其余人共同开发这个分支,能够推送到远程服务器
分支的好处在于同时进行多个任务的时候。好比正在任务A,只进行了一半,忽然有bugB须要修改,那么能够在本地单首创建一个修改bugB的分支。完善后可在本地合并提交。能够避免另外一部分代码没写完提交尴尬的处境,由于一半的代码提交上去不太好,不提交,得先删除一下这个代码。若是是多个分支,就不会相互干扰app

提交建议:

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

bug 分支

若是是修复bug,则须要临时建立分支,要把以前写了一半不能提交的代码先用 git stash 存储起来开发

先要肯定从哪一个分支上修复bug,若是是master分支上修复,就从master建立临时分支,修复后,合并到master, 而后删除issue-101it

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

新特性分支

新特性就从dev 上建立分支
git branch -D 分支名 // 强行删除未合并的分支 通常使用feature代表ast

标签管理

发布一个版本时,一般在版本库中打上标签,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。因此,标签也是版本库的一个快照。sed

查看标签: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>bug

相关文章
相关标签/搜索