-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Description
写在最前
这里我直接用例子去说明一个功能的开发,其最佳实践是什么,比如我开发一个四级页固定套餐。
第一步:
新建开发分支 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;