GitLab 特定的合并请求
GitLab specific merge request
我在 GitLab 上有 i18n 分支。我已经已经 提交了一些推送。
问题:
客户希望我向 master 分支发出合并请求,但仅限于一些特定文件(
select the smallest possible set of changes
)。
这怎么可能 ?
如我所见,它收集了合并请求的所有提交......那么我应该在这里做什么?我考虑过创建第三个分支并在那里提交这一小部分更改..但这太荒谬了...
您可以尝试应用类似于“How do you merge selective files with git-merge?”的解决方案:
- 使用
git merge --no-ff --no-commit -s ours i18n
仅合并您需要的文件:
git checkout i18n -- file1 file2 file3...
听起来您的客户只是希望您在创建合并请求之前压缩您在 i18n 分支上的提交。您可以在 i18n 分支的 git 中使用交互式变基来执行此操作。
git rebase -i HEAD~4
这将使您与最后 5 次提交进行交互,更改数字以获得您想要的提交。
在交互式变基中,将更改的第一个提交保留为 'pick',并将其余更改为 'squash'
保存后,您将有机会更改已压缩提交的提交消息。
有关详细信息,请参阅:https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history
我在 GitLab 上有 i18n 分支。我已经已经 提交了一些推送。 问题: 客户希望我向 master 分支发出合并请求,但仅限于一些特定文件(
select the smallest possible set of changes
)。 这怎么可能 ? 如我所见,它收集了合并请求的所有提交......那么我应该在这里做什么?我考虑过创建第三个分支并在那里提交这一小部分更改..但这太荒谬了...
您可以尝试应用类似于“How do you merge selective files with git-merge?”的解决方案:
- 使用
git merge --no-ff --no-commit -s ours i18n
仅合并您需要的文件:
git checkout i18n -- file1 file2 file3...
听起来您的客户只是希望您在创建合并请求之前压缩您在 i18n 分支上的提交。您可以在 i18n 分支的 git 中使用交互式变基来执行此操作。
git rebase -i HEAD~4
这将使您与最后 5 次提交进行交互,更改数字以获得您想要的提交。
在交互式变基中,将更改的第一个提交保留为 'pick',并将其余更改为 'squash'
保存后,您将有机会更改已压缩提交的提交消息。
有关详细信息,请参阅:https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history