我有7个最近的提交,我想从中删除一个文件夹 - 这个文件夹(及其内容)不需要出现在这些提交中,并且在之前的提交中也没有出现过(在这7个提交之前)。我能否修改这些最近的7个提交并删除这个文件夹?
这7个提交并非在主干分支上进行。因此另一个可能的选项是基于主干创建一个新的分支/拉取请求,并重新提交最近的7个提交中的最新提交,但不包括相应文件夹的内容。
这两种选项都可行吗?
我有7个最近的提交,我想从中删除一个文件夹 - 这个文件夹(及其内容)不需要出现在这些提交中,并且在之前的提交中也没有出现过(在这7个提交之前)。我能否修改这些最近的7个提交并删除这个文件夹?
这7个提交并非在主干分支上进行。因此另一个可能的选项是基于主干创建一个新的分支/拉取请求,并重新提交最近的7个提交中的最新提交,但不包括相应文件夹的内容。
这两种选项都可行吗?
git rebase -i
命令,选择第七个最早的提交并选择 "edit",然后在返回shell之后,您可以使用"git rm"命令删除要删除的内容,提交更改,使用git rebase --continue
命令继续进行rebase操作,然后在其父提交中合并新的提交。这是处理此情况最简单的方法。git filter-branch
命令和--tree-filter
选项,从所有七个提交中删除相关文件。
git rm
之后,你需要执行git commit --amend
。另外,在推送代码时,你需要使用git push -f
命令。 - David Deutsch