我们使用 svn 多年,最近切换到 Git。我们曾经在 svn 中使用更改列表来实现特定目的。它们类似于全局忽略,但不完全相同。全局忽略告诉 svn 不要添加符合模式的文件,但如果文件已经添加到版本控制,忽略不会做任何事情。这在 Git 中也是一样的。Git 忽略文件告诉 Git 忽略与给定模式匹配的文件,但前提是它们尚未添加到版本控制中。
svn 中的更改列表允许我们指定已经添加到版本控制中的文件。一旦文件被添加到更改列表中,svn 将在提交时忽略这些文件。这样做的基本优点是您可以自由编辑某些文件,而不必担心意外提交您不想进入主代码库的更改。一个很好的示例场景是,当您想要使用特定客户的配置并将客户特定的引用添加到核心代码库中不应该存在的项目文件时。
Git 有 stash 的概念,这又是不同的。我们可以将增量存储在本地存储库的存储中。这些可以自由应用、推送或弹出,从而解决了部分问题。但是,当我们进行提交时(通过一些 gui 工具 - tortoise git、gitkraken、VS),这些文件仍然会出现在 Git 想要提交的文件列表中。我不希望他们出现,因为我很可能会犯错误并意外犯下他们。
有没有办法在 Git 中实现类似功能的更改列表?
注意:我真的不想通过命令行执行此操作。我使用 Visual Studio、Git Kraken 和 Tortoise Git 的组合。我喜欢 Gui 系统。我不想在命令提示符下运行一个命令,它会自动提交我的更改,同时避免我指定的文件。