gitgitflow团队协作

起步

我们通常在工作中都会用git或者svn来管理我们的代码,那么如何高效的存储,管理我们的远程仓库。
团队开发中提高效率就显得非常重要,现在基本绝大多数的公司采用git来进行版本控制,Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统,接下来主要介绍的就是团队在日常开发中常规git命令
64jG97o_L8g.jpg

项目工作分支

三条长期的分支

  • 主分支 master(线上)
  • 开发分支 develop(日常开发分支)
  • 主分支 test(预发分支)

    两条短期的分支

  • 功能分支 feature-branch

  • 线上补丁分支 hotfix-branch

这两个短期分支,在开发完毕后,就需要被合并进master或者是dev分支里去,原来的分支可以在合并后被删除


分支管理

分支上自动同步master

  1. git pull --rebase origin master

查看当前所在分支

  1. git branch

切换仓库分支

  1. git check out <分支名>

查看远程和本地的所有分支

  1. git branch -a

查看远程分支

  1. git branch -r


删除本地分支(注意在当前分支的情况下,则无法删除该分支)

  1. git branch -D <BranchName>

删除远程分支

  1. git push origin --delete wangenbo


拉取远程分支

  1. git checkout -b 本地分支名x origin/远程分支名x
  2. 或者
  3. git fetch origin 远程分支名x:本地分支名x

本地管理

使用命令初始化仓库

  1. git init

添加文件夹下的所有文件

  1. git add .


把文件提交到本地仓库

  1. git commit -m "添加你的注释,一般是一些更改信息"

关联到远程仓库

  1. git remote add origin 你的远程库地址

获取远程库与本地同步合并,如果远程仓库为空,可调过这步

  1. git pull --rebase origin master


把本地库的内容推送到远程

  1. git push -u origin master


项目不需要git来管理项目的时候,移除本地git设置

  1. rm -rf .git

修改远程仓库地址

  1. git remote set-url origin url

修改远程地址同时保留git提交日志

  1. git remote rename origin old-origin
  2. git remote add origin http://192.168.3.160/product/eohi-mes.git
  3. git push -u origin --all
  4. git push -u origin --tags

仓库管理

查看仓库

  1. git remote -v

添加一个将被同步给 fork 远程的上游仓库

  1. git remote add upstream <url>

执行同步fork操作

  1. git fetch upstream //默认会将远程所有的分支fetch下来

同步自己的远程分支

  1. git pull origin master

执行合并upstream操作

把 upstream/master 分支合并到本地 master 上

  1. git merge upstream/master

代码回滚

我们经常会误上传文件,需要将代码回滚到原来的历史版本中:

查看由近到远的提交历史记录

(这里的记录是提交到远程分支的记录,不包含本地提交没有推送的历史记录)

  1. git log

回到上一个刚刚提交的版本

  1. git reset --hard HEAD^

回到固定的历史版本

  1. git reset --hard id

将回退的版本强制推送到远程

(注意不能下拉分支否则会自动回到原来的情况)

  1. git push origin HEAD --force