我正在git上弄湿我的脚并遇到以下问题:
我的项目源码树:
/
|
+--src/
+----refs/
+----...
|
+--vendor/
+----...
Run Code Online (Sandbox Code Playgroud)
我在我的供应商分支中有代码(目前是MEF),我将在那里编译,然后将引用移动到/src/refs项目从中获取的位置.
我的问题是我有我的.gitignore设置忽略*.dll和*.pdb.我可以做一个git add -f bar.dll强制添加被忽略的文件,这是好的,问题是我无法弄清楚列出哪些文件被忽略.
我想列出被忽略的文件,以确保我不会忘记添加它们.
我已经阅读了手册页git ls-files,但无法使其正常工作.在我看来,git ls-files --exclude-standard -i应该做我想要的.我错过了什么?
有没有办法使用命令git ls-files,只显示未跟踪的文件?
我问的原因是因为我使用以下命令来处理所有已删除的文件:
git ls-files -d | xargs git rm
Run Code Online (Sandbox Code Playgroud)
对于未跟踪的文件,我想要类似的东西:
git some-command --some-options | xargs git add
Run Code Online (Sandbox Code Playgroud)
我能够找到-o选项git ls-files,但这不是我想要的,因为它也显示了被忽略的文件.我还能够提出以下长而丑陋的命令:
git status --porcelain | grep '^??' | cut -c4- | xargs git add
Run Code Online (Sandbox Code Playgroud)
似乎我必须在这里使用更好的命令.如果没有,我如何创建自定义git命令?
我有很多未跟踪的文件.我很确定他们中的大部分都可以删除,但是......你知道,备份可能会有所帮助;)
在类似的情况下你在做什么?
git ×3
backup ×1
bash ×1
git-ls-files ×1
git-rm ×1
git-stage ×1
git-status ×1
ignore ×1
shell ×1