如何正确处理仅在git中本地使用的文件?

时间:2017-05-22 03:31:14

标签: git gitignore ignore

我想在git提交中重新排序已更改文件的输出,因此我创建了一个名为submodule/orderfile的文件,并将diff.orderFile配置为指向该文件。

现在出现了很多问题

  • 如果我将文件添加到.gitignore,则.gitignore将列为已修改
  • 如果我将路径submodule/orderfile添加到.git/info/exclude,则在运行git status时文件仍会显示。

无论哪种方式,orderfile.gitignore都会列在git状态中。如果我将它提交到分支,当我切换到另一个分支时它将被删除。我不想推送这些文件,因为我只在本地使用它们。

我尝试像here那样运行git update-index --assume-unchanged orderfile,但它提供了

fatal: Unable to mark file orderfile

更重要的是,即使我可以设法忽略该文件,我也会在运行git clean -xdf

时将其删除

那么我怎么能告诉git不跟踪文件并且在我运行git clean -xdf时仍然保持原样?

1 个答案:

答案 0 :(得分:0)

  

如何将文件移出存储库并将diff.orderFile配置为新路径?

这是我的第一个想法,但是diff.orderFile是一个相对路径名,它被视为相对于工作树的顶部。
也许../afile会起作用。

另一种方法是定义git包装脚本,该脚本调用git,但在使用diff时使用-O 选项。
这样,您就可以将订单文件放在仓库之外。