Mar*_*air 27
以下命令将在您的主目录中创建目录中所有未跟踪(未忽略)文件的tar存档:
git ls-files --others --exclude-standard -z | xargs -0 tar rvf ~/backup-untracked.tar
Run Code Online (Sandbox Code Playgroud)
如果你打算使用这种技术,请仔细检查git ls-files --others --exclude-standard它自己产生你期望的文件列表!
关于此解决方案的一些注意事项可能是有序的:
我用-z得到git ls-files输出文件与目录NUL(零字节)的文件之间的隔膜和-0参数来xargs告诉它要考虑NUL到无论是从标准输入读取参数之间的分隔符.这是处理文件名可能包含换行符的可能性的标准技巧,因为Linux上的文件名中不允许的唯一两个字节是NUL和/.
如果你有大量未跟踪的文件,那么xargs将tar不止一次运行该命令,所以重要的是我告诉tar你追加文件(r)而不是创建一个新的档案(c),否则后来的调用tar会覆盖创建的档案就在此之前.
一般来说,如果它们有用,那么你应该检查它们!如果您现在不需要它们,请检查它们并将其删除!IE,跟踪它们作为已删除的文件.这样,如果您确定需要它们,您可以随时恢复它们.
请记住,使用版本控制系统的基本原则是"跟踪所有内容 ".小的更改,破坏的更改(在分支中)等.您永远不知道何时可能需要这些文件或更改,因此请使用您的VC系统以确保您不会丢失它们.
| 归档时间: |
|
| 查看次数: |
3549 次 |
| 最近记录: |