查看分支: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
dev
分支合并到master
上,在master
分支发布1.0版本 在合并的时候加上 --no-ff
参数可使用普通模式合并,合并后的历史会有分支记录git merge --no--ff -m "注释" dev
由于本次合并要建立一个新的commit,因此加上-m参数并写上描述远程仓库通常只维护两个分支 master 和 dev服务器
其余分支通常在本地操做便可,若是须要其余人共同开发这个分支,能够推送到远程服务器
分支的好处在于同时进行多个任务的时候。好比正在任务A,只进行了一半,忽然有bugB须要修改,那么能够在本地单首创建一个修改bugB的分支。完善后可在本地合并提交。能够避免另外一部分代码没写完提交尴尬的处境,由于一半的代码提交上去不太好,不提交,得先删除一下这个代码。若是是多个分支,就不会相互干扰app
一个功能一次提交,带上本次修改功能描述,而不必定要等到全部功能都完成后才提交。这样在后来查看修改记录的时候很好,不至于一个提交记录里一个文件里有N多功能影响查看。code
若是是修复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