新手向 Git 工作流

293 阅读1分钟

前言

最近从 SVN 转到 Git, 在这里总结两个新手向 Git 工作流, 帮助从 SVN 过渡到 Git, 等下面两个流都玩6之后, 就可以尝试更"高端"的

集中式工作流

核心: 只存在一个分支 master

特点: 和 SVN 的流几乎一样

成员首次拉取项目

$ git clone <url>

成员将本地提交推送到中央仓库

$ git push origin master

如果本地和远程存在分歧, Git会拒绝操作, 这时我们拉取, 同时变基

$ git pull --rebase origin master

如果存在冲突, 会输出如下信息CONFLICT (content): Merge conflict in <some-file>

手动修复冲突, 同时随时用 git status 命令查看冲突文件

$ git status

修复冲突之后

$ git add <file>
$ git rebase --continue

重复这个过程, 直到没有任何冲突, 推送到远程

$ git push origin master

如果你搞不定冲突, 或者搞砸了, 不要惊慌, 执行下面的命令, 退回到 git pull --rebase 之前的状态

$ git rebase --abort

功能分支工作流

核心: 存在一个主分支 master, 开发新功能和bug修复都新开一个分支, 使用 pull request 的方式并入主分支

特点: 简单的分支和 pull request

新建一个分支

$ git checkout -b feature master
// 上面一句等于下面两句
$ git branch feature master
$ git checkout feature

在这个分支中修改提交...

$ git status
$ git add
$ git commit

将分支同步到中央仓库

$ git push -u origin feature

功能开发完成后, 在项目页面发起 pull request (merge request)

确认可以合并时, 合并, 删除本地和远程功能分支

$ git branch -d feature
$ git push origin --delete feature