Skip to content

一个标准的 功能开发 的最佳实践 #20

@godkun

Description

@godkun

写在最前

这里我直接用例子去说明一个功能的开发,其最佳实践是什么,比如我开发一个四级页固定套餐。

第一步:

新建开发分支 feature/fourth-taocan

git checkout -b feature/fourth-taocan

第二步

所在分支是 feature/fourth-taocan ,然后进行开发,总共进行了4次提交,如下:

git commit -m '第一次提交'
git commit -m '第二次提交'
git commit -m '第三次提交'
git commit -m '第四次提交'

第三步:

commit 进行合并,如下操作:

# 此处 `commitId` 是指第一次提交之前的一个 `commitId`
git rebase -i commitId

出现编辑界面:

pick 第四次提交 
pick 第三次提交 
pick 第二次提交 
pick 第一次提交

如果需要合并成一个 commit ,则需要改成如下样子:

pick 第四次提交 
s 第三次提交 
s 第二次提交 
s 第一次提交

然后 wq 保存并退出,这时会进入最终合并提交 commit 信息编辑状态,在这里会列出合并 commit 的所有 message ,我们可以操作:

将 commit message 全部删掉,然后自己写一个 commit message

这时再 wq 后会出现:

 git rebase -i 0eeffc2
[detached HEAD 386ecac] dddddd
 Date: Wed Aug 15 19:57:57 2018 +0800
 4 files changed, 8 insertions(+)
Successfully rebased and updated refs/heads/mergecommit.

提示合并 commit 成功。

第四步:

最后切换到 dev 分支,并合并:

git checkout dev
git merge feature/fourth-taocan

就成功的把新功能的代码合并到 dev 上了,并且 commit 也都是经过合并处理过的,很清晰。


附录:

pick:简写p,启用该commit;
reword:简写r,使用该commit,但是修改提交信息,修改后可以继续编辑后面的提交信息;
edit:简写e,使用commit,停止合并该commit;
squash:简写s,使用该commit,并将该commit并入前一commit;
drop:简写d,移除该commit;

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions