我初始化了git
存储库并进行了第一次提交。现在,在该目录中,我运行./configure
和./make all
,以便填充许多不想跟踪的额外文件/文件夹。
我想做的是将所有这些未跟踪的文件全部添加到我的gitignore中。有没有简单的方法来实现这一点?
我可以通过在.gitignore中指定适当的行来摆脱一些不必要的文件,例如*.o
或*.mod
,但这并不能解决问题。
试试这个:
git status -s | grep -e "^\?\?" | cut -c 4- >> .gitignore
解释: git status -s
可以给你展示一个简短的不包含标题的状态。 grep
只选取以??
开头的行,即未被跟踪的文件;cut
去除了??
,其余部分添加到了.gitignore
文件中。
.gitignore
文件。如果你想追踪这个文件,可以使用命令 git status -s | grep -e "^\?\?" | grep -v ".gitignore" | cut -c 4- >> .gitignore
。 - chiborgfindstr /C:"text"
基本上相当于grep "text"
。 - Eagle修改过的
文件。 - CodyChan一个更简单的命令是
git ls-files --others --exclude-standard >> .gitignore
您可能希望编辑结果,以通配符替换重复的模式。
awk
来实现更短的解决方案:git status -s | awk '{print $2}' >> .gitignore
当未跟踪的内容中有空格时,这也适用,并且更短:
git status -s | grep -oP '^\?\? "?\K[^"]+' >>.gitignore
M
(修改)开头的行),将"^\?\?"
替换为"^??"
解决了我的问题。我使用的是win 10,并在msys2的bash中使用它。