【GIT】GIT工作流及合并分支步骤

GIT工作流【GIT】GIT工作流及合并分支步骤_第1张图片

  1. 基于 master 分支新建一个功能分支,功能分支可以取一些有意义的名字,便于理解,例如 feature/rate-limiting。
$ git checkout -b feature/rate-limiting
  1. 在功能分支上进行代码开发,开发完成后 commit 到功能分支。
$ git add limit.go
$ git commit -m "add rate limiting"
  1. 将本地功能分支代码 push 到远程仓库。
$ git push origin feature/rate-limiting
  1. 在远程仓库上创建 PR(例如:GitHub)。

进入 GitHub 平台上的项目主页,点击 Compare & pull request 提交 PR,如下图所示。
【GIT】GIT工作流及合并分支步骤_第2张图片

点击 Compare & pull request 后会进入 PR 页面,在该页面中可以根据需要填写评论,最后点击 Create pull request 提交 PR。

  1. 代码管理员收到 PR 后,可以 CR 代码,CR 通过后,再点击 Merge pull request 将 PR 合并到 master,如下图所示。

【GIT】GIT工作流及合并分支步骤_第3张图片

图中的“Merge pull request” 提供了 3 种 merge 方法:

Create a merge commit:GitHub 的底层操作是 git merge --no-ff。feature 分支上所有的 commit 都会加到 master 分支上,并且会生成一个 merge commit。这种方式可以让我们清晰地知道是谁做了提交,做了哪些提交,回溯历史的时候也会更加方便。

Squash and merge:GitHub 的底层操作是 git merge --squash。Squash and merge 会使该 pull request 上的所有 commit 都合并成一个 commit ,然后加到 master 分支上,但原来的 commit 历史会丢失。如果开发人员在 feature 分支上提交的 commit 非常随意,没有规范,那么我们可以选择这种方法来丢弃无意义的 commit。但是在大型项目中,每个开发人员都应该是遵循 commit 规范的,因此我不建议你在团队开发中使用 Squash and merge。

Rebase and merge:GitHub 的底层操作是 git rebase。这种方式会将 pull request 上的所有提交历史按照原有顺序依次添加到 master 分支的头部(HEAD)。因为 git rebase 有风险,在你不完全熟悉 Git 工作流时,我不建议 merge 时选择这个。

合并分支步骤

1、进入要合并的分支(如开发分支合并到master,则进入master目录)

git checkout master
git pull

2、查看所有分支是否都pull下来了

git branch -a

3、使用merge合并开发分支

git merge 分支名

4、查看合并之后的状态

git status

5、有冲突的话,通过IDE解决冲突;

6、解决冲突之后,将冲突文件提交暂存区

git add 冲突文件

7、提交merge之后的结果

git commit

如果不是使用git commit -m “备注” ,那么git会自动将合并的结果作为备注,提交本地仓库;

8、本地仓库代码提交远程仓库

git push

git将分支合并到分支,将master合并到分支的操作步骤是一样的。

你可能感兴趣的:(Git,git)