在变基时解决冲突时忽略特定文件

问题描述 投票:0回答:1

我已经检查了一个非常旧的功能分支,并且想对 master 进行变基。

但是,有一些 webpack 构建文件未包含在 .gitignore 中,这会导致 rebase 提示我解决这些 webpack 构建文件的功能分支的每次提交的冲突。

我的问题是,有没有办法忽略这些 webpack 构建文件冲突?

git git-rebase git-merge-conflict
1个回答
0
投票

正确的方法(当然更痛苦)是重写历史记录,这样就没有提交的构建文件。

考虑到分支的历史无论如何都会被重写,一旦基于 master 之上重新构建,首先过滤其内容是一个可行的选择。

使用

git filter-repo
,替换
BFG
git filter-branch
。注意:先安装

在继续之前,请确保您拥有存储库的完整备份。

使用

git filter-repo
从分支历史记录中删除 webpack 构建文件。将
path/to/webpack/build/files/*
替换为 webpack 构建文件的实际路径。

git filter-repo --path path/to/webpack/build/files/* --invert-paths

运行命令后,检查存储库的历史记录以确保文件已被删除。

如果您已经将带有构建文件的分支推送到远程存储库,则需要强制推送更改。与可能使用同一分支的任何其他人进行协调(但是,由于它是一个非常旧的分支,因此很可能目前没有人在使用它)。

git push origin <branch-name> --force

现在构建文件已从历史记录中删除,您可以继续重新建立 master 基础:

git rebase master
© www.soinside.com 2019 - 2024. All rights reserved.