我们说我有一个用Git版本化的代码库。除了代码本身,我还有一些项目文件,例如。 Qt Creator .pro.user
文件或Sublime Text .sublime-project
文件。或者它可能是一个本地配置文件,其中包含我自己的项目个人设置。或者我发现有用但与其他开发人员无关的shell脚本。
如果我将这些文件与代码一起保存,那么当我清理树时,它们将被删除。与git clean -fdx
。即使我将它们添加到.gitignore
文件中也是如此,因为它通常包含您 要删除的构建副产品的条目。
有没有办法告诉Git"忽略这些文件用于版本控制,但在清理时也不要删除它们?"或者有没有办法让clean
命令区分被忽略的文件,因为它们是中间构建残骸,而忽略的文件是因为您不希望它们与其他开发人员共享?能够在clean
或reset --hard
生效的东西吗?
答案 0 :(得分:0)
据我所知,在保持git clean -fx
移除它们的同时,无法以理智的方式完成此任务。如果需要这些文件但不是项目的一部分,我会看看是否有可能创建它们将它们存储在其他地方。否则,我会将它们添加到.gitignore
或您的全局排除文件,具体取决于它们是特定于项目还是特定于系统,并避免git clean
将它们删除。
此外,虽然可以安全地假设这些特定文件不会影响程序的行为,但在一般情况下,您可能希望确保这实际上是这样,因此这是一个好主意不做你的建议,即使有可能。
我想你可以创建一个单独的分支,如果你愿意((git checkout --orphan
)可以孤立,并在那里提交文件。然后你可以git checkout thatbranch -- files
抓取文件。它不是最佳的,但至少你会知道你的文件是安全的。