Git工作流

转自:  https://segmentfault.com/q/1010000000181403

http://blog.csdn.net/waterforest_pang/article/details/9762863


git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下:

去自己的工作分支

$ git checkout work

工作
....

提交工作分支的修改
$ git commit -a

回到主分支
$ git checkout master

获取远程最新的修改,此时不会产生冲突
$ git pull

回到工作分支
$ git checkout work

用rebase合并主干的修改,如果有冲突在此时解决
$ git rebase master: (分工尽量明确,少造成多人编辑同一个文件的情况)

回到主分支
$ git checkout master

合并工作分支的修改,此时不会产生冲突。
$ git merge work

提交到远程主干
$ git push

这样做的好处是,远程主干上的历史永远是线性的。每个人在本地分支解决冲突,不会在主干上产生冲突。


当项目进行到里程碑节点的时候,打tag:

打标签

    git tag -a 0.1.3 -m “Release version 0.1.3″

    详解:git tag 是命令

        -a 0.1.3是增加 名为0.1.3的标签

        -m 后面跟着的是标签的注释

    打标签的操作发生在我们commit修改到本地仓库之后。完整的例子

        git add .

        git commit -m “fixed some bugs”

        git tag -a 0.1.3 -m “Release version 0.1.3″

分享提交标签到远程服务器上

    git push origin master

    git push origin --tags

    –tags参数表示提交所有tag至服务器端,普通的git push origin master操作不会推送标签到服务器端。

删除标签的命令

    git tag -d 0.1.3

删除远端服务器的标签

    git push origin :refs/tags/0.1.3


猜你喜欢

转载自blog.csdn.net/wwhrestarting/article/details/73296621