是否有可能在合并之前强制压缩提交,或者如果' feature`分支有多个提交,则不允许合并?

时间:2016-05-03 18:12:27

标签: git github

所以我们假设我有两个分支<code> <div ng-show="{$state.is('login')}">Item</div> </code> develop,并且feature分支在两个额外的提交中领先。

我正在寻找某种以下行为

feature

也许可以在github端配置?当$ git checkout develop $ git merge feature Error: make sure you squash all commits in `feature` branch before merging it git push origin develop分支进行一次提交时,让github拒绝develop

为了更清楚地提出问题,我将提供一个示例。

feature

我希望我会在步骤// 1. working on a new feature $ git checkout -b feature $ git commit -m "foo" $ git commit -m "bar" // 2. merging to develop // here I supposed to do `git rebase -i develop` // but I forgot!!!! $ git checkout develop $ git merge feature // 3. push to github $ git push origin develop 或步骤2上收到警告,因为我忘记了提交

2 个答案:

答案 0 :(得分:1)

我认为在github中执行此操作的正确方法是使用pull请求并仅合并看起来正确的请求。我不知道github是否允许预先接收挂钩,但是一个独立的git会,而对于其他人你可能会尝试Gerrit。

你可以制作一个本地预包装钩子,但由于它在提交者计算机上运行,​​所以要避免它是微不足道的。

这为您提供了有关如何在合并之前进行本地检查的指示。

How would I write a pre-merge hook in Git?

答案 1 :(得分:-1)

使用git rebase -i develop。然后你就可以压缩提交了。