Git 工作流程:合并分支同时避免重复提交消息
Git workflow: merging branches while avoiding repetitive commit messages
我正在对一个包含大量 SCSS 文件的项目进行一些 SCSS 重构。
这是我的方法:为每个 SCSS 文件重构创建一个新分支。
例如,我创建了一个名为 scss-lint-refactor-chicken
的新分支并签出它,我完成了重构(这将涉及 Chicken.jsx
和 Chicken.scss
以及可能的一些其他文件)和提交更改。
然后,我结帐到 master,并合并分支。
master 分支的历史记录如下:
* 75d48b2 - (7 minutes ago) Merge branch 'scss-lint-refactor-chicken' - Rory Smith
|\
| * 9ea664f - (9 minutes ago) SCSS lint refactor chicken - Rory Smith
我的问题是:
- 对于此类工作,这是版本控制工作流的好方法吗?
- 我怎样才能优化这个过程,这样我就不会收到 2 条提交消息,它们本质上以不同的方式表达了同样的事情?
是的,这是使用版本控制系统的好方法,因此您可以留下您的工作,或者对同一个重构进行两次或多次提交。
不要害怕合并消息。他们是你的朋友。 Git 不会因为你有更多的提交而变慢。如果您认为它们过多地污染了您的 git 日志,请隐藏它们:
git log --no-merges
或者,
当您在您的分行时,您可以 运行 git rebase master
,然后从您的 master
分行 运行 git merge <branch>
。这将删除 merge
提交并可能使提交历史更清晰一些。
我正在对一个包含大量 SCSS 文件的项目进行一些 SCSS 重构。
这是我的方法:为每个 SCSS 文件重构创建一个新分支。
例如,我创建了一个名为 scss-lint-refactor-chicken
的新分支并签出它,我完成了重构(这将涉及 Chicken.jsx
和 Chicken.scss
以及可能的一些其他文件)和提交更改。
然后,我结帐到 master,并合并分支。
master 分支的历史记录如下:
* 75d48b2 - (7 minutes ago) Merge branch 'scss-lint-refactor-chicken' - Rory Smith
|\
| * 9ea664f - (9 minutes ago) SCSS lint refactor chicken - Rory Smith
我的问题是:
- 对于此类工作,这是版本控制工作流的好方法吗?
- 我怎样才能优化这个过程,这样我就不会收到 2 条提交消息,它们本质上以不同的方式表达了同样的事情?
是的,这是使用版本控制系统的好方法,因此您可以留下您的工作,或者对同一个重构进行两次或多次提交。
不要害怕合并消息。他们是你的朋友。 Git 不会因为你有更多的提交而变慢。如果您认为它们过多地污染了您的 git 日志,请隐藏它们:
git log --no-merges
或者,
当您在您的分行时,您可以 运行 git rebase master
,然后从您的 master
分行 运行 git merge <branch>
。这将删除 merge
提交并可能使提交历史更清晰一些。