git 删除提交中的更改?
git delete changes in a commit?
我不得不重新设置一个应该更改单个目录的提交。
现在当我在gitlab中看到最新的变化时,分支中有几十个目录显示为已更改。
我现在需要以某种方式将更改保留在我只想保留的目录中,而忽略其他所有内容。换句话说,我需要创建一个新的提交,其中唯一的更改是对当前相关目录的更改,但我不确定该怎么做。
如果你想修改现有的提交,你可以使用交互式变基:
git rebase -i <starting commit or branch>
此命令将打开带有提交列表的文本编辑器。对于每个提交,您可以提供要执行的操作。该操作默认为 "pick"。您可能想在这里使用 "edit"。保存文件并关闭编辑器后,变基开始。当 git 遇到您选择编辑的提交时,它会停止变基。此时您可以执行任何您想要的 git 命令。例如,你可以做
git reset --mixed HEAD~
现在根据您的需要编辑文件并提交。当你完成时
git rebase --continue
冲洗并根据需要重复。
有关详细信息,请参阅 git help rebase
。请注意,默认情况下,变基合并提交不会保留合并。相反,它将重新设置两个历史记录中的个人提交。
我不得不重新设置一个应该更改单个目录的提交。
现在当我在gitlab中看到最新的变化时,分支中有几十个目录显示为已更改。
我现在需要以某种方式将更改保留在我只想保留的目录中,而忽略其他所有内容。换句话说,我需要创建一个新的提交,其中唯一的更改是对当前相关目录的更改,但我不确定该怎么做。
如果你想修改现有的提交,你可以使用交互式变基:
git rebase -i <starting commit or branch>
此命令将打开带有提交列表的文本编辑器。对于每个提交,您可以提供要执行的操作。该操作默认为 "pick"。您可能想在这里使用 "edit"。保存文件并关闭编辑器后,变基开始。当 git 遇到您选择编辑的提交时,它会停止变基。此时您可以执行任何您想要的 git 命令。例如,你可以做
git reset --mixed HEAD~
现在根据您的需要编辑文件并提交。当你完成时
git rebase --continue
冲洗并根据需要重复。
有关详细信息,请参阅 git help rebase
。请注意,默认情况下,变基合并提交不会保留合并。相反,它将重新设置两个历史记录中的个人提交。