所以我们假设我有两个分支<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
上收到警告,因为我忘记了提交
答案 0 :(得分:1)
我认为在github中执行此操作的正确方法是使用pull请求并仅合并看起来正确的请求。我不知道github是否允许预先接收挂钩,但是一个独立的git会,而对于其他人你可能会尝试Gerrit。
你可以制作一个本地预包装钩子,但由于它在提交者计算机上运行,所以要避免它是微不足道的。
这为您提供了有关如何在合并之前进行本地检查的指示。
答案 1 :(得分:-1)
使用git rebase -i develop。然后你就可以压缩提交了。