4

我现在使用 git 很长时间了。但我从来没有以协作的方式使用它。我目前正在建立一个新项目并计划很多事情,其中​​包括:如何 git?

好的,所以我开始阅读一些内容,这是一个简单的决定:好的,我们将使用功能分支工作流程。棒极了。

下一个问题:合并还是公关?合并!美好的。

最后一个问题:FF还是非FF?
在功能分支工作流程中合并 FF 是否有意义?合并FF时感觉整个功能分支故事都是浪费。
使用我没有考虑过的非 FF 有什么缺点吗?


在阅读“扁平”(例如git log --oneline) git log 时,我认为拥有这些合并提交并不是什么大问题。但是当使用一些更花哨git log --format ...的东西时,当日志看起来像这样时,它会完全有帮助。至少在我看来。

*   e3f667e (HEAD, origin/master, master) Merge branch 'issue#1702'
|\
| * ec359fe (origin/issue#1702, issue#1702) 1702: two
| * 45a63b3 1702: two
* |   97bbec7 Merge branch 'issue#1701'
|\ \
| |/
|/|
| * f959cc9 (origin/issue#1701, issue#1701) 1701: two
| * 9217d3c 1701: one
|/
*   6c934ea Merge branch 'issue#1606'
|\
| * 365eac5 (origin/issue#1606, issue#1606) 1606: two
| * 95df1c9 1606: two
| * ad79b01 1606: one
|/
*   02dbcea Merge pull request #1 from babbelnedd/issue#1605
|\
| * d24d200 (origin/issue#1605, issue#1605) 1605: two
| * 7ef0a8e 1605: two
| * 5aac64d 1605: one
|/
* 585d8b9 Initial commit
4

2 回答 2

6

您绝对正确,在进行 FF 合并的同时使用功能分支是没有意义的。

“Gitflow方式”是在主题分支中合并时使用FF:

--no-ff 标志使合并始终创建一个新的提交对象,即使可以使用快进执行合并。这样可以避免丢失有关功能分支的历史存在的信息,并将所有添加该功能的提交组合在一起。

来源

于 2015-06-09T21:59:27.610 回答
-1

看起来Gitflow头条新闻旨在使用快进合并。

来自Jeff Kreeftmeijer关于Git-Flow 工具的博客的引用。请注意“快进”消息。

正如输出已经解释的那样,您现在位于一个新的分支上,您可以使用它来处理您的功能。像往常一样使用 git,并在完成后使用 feature finish 完成该功能:

$ git flow feature finish authentication
Switched to branch 'develop'
Updating 9060376..00bafe4
Fast-forward
 authentication.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 authentication.txt
Deleted branch feature/authentication (was 00bafe4).

Summary of actions:
- The feature branch 'feature/authentication' was merged into 'develop'
- Feature branch 'feature/authentication' has been removed
- You are now on branch 'develop'
于 2015-06-09T18:58:57.067 回答