当我有:
我如何只提供新的?
git alias adduntracked=…
答案 0 :(得分:13)
此别名将尊重您的忽略模式(内置,全局和每个目录,如git-ls-files --exclude-standard
的帮助所述)。它将在树的顶层运行。
[alias]
adduntracked=!git add $(git ls-files -o --exclude-standard)
答案 1 :(得分:1)
我建议复制这样的内容:
for i in source/path ; do cp source/path/$i ./$i ; git add $i ; done
我在shell脚本方面不是很好,但这将是一次尝试
答案 2 :(得分:1)
如果要将所有未跟踪的文件添加到暂存区域:
git add .
我想你想要这个,同时保持对索引之外的跟踪文件的非分段更改。
git stash
git add .
git stash apply
这会有帮助吗?
答案 3 :(得分:1)
要允许名称中包含特殊字符的文件,请使用以下别名:
au = "!git ls-files -z -o --exclude-standard | xargs -0 git add; #"
答案 4 :(得分:0)
git add -u
是我用来跟踪未跟踪的内容。
编辑:下面的评论提醒我,git add .
添加了未跟踪(以及更改的文件,我认为这不是您想要的?)。我使用git add -u
来暂存已删除的文件。
答案 5 :(得分:0)
git add untracked
答案 6 :(得分:0)
git ls-files -o --exclude-standard | xargs git add
答案 7 :(得分:0)
solution of bstpierre略有改进,您可以使用此变体来指定要添加文件的目录:
[alias]
adduntracked="!f() { git add $(git ls-files -o --exclude-standard $@); }; f"