基本上,我创建了一个.gitignore
文件,其中包含以下内容(忽略所有类文件但不.gitignore
文件):
# Ignore files below
*.class
# but not these files
!.gitignore
我想将其传播到目录中的所有子文件夹甚至子子文件夹。
我知道我可以通过手动复制和粘贴它来以天真的方式做到这一点。
但是有没有更好的方法来使用终端中的一些命令来做到这一点?
答案 0 :(得分:1)
find . -type d -print | xargs -L 1 cp .gitignore
find命令打印出所有目录的名称。包括。
带有-L 1参数的xargs命令对找到的每个目录执行cp .gitignore <dir>
。
您将在当前目录中看到有关不将.gitignore复制到自身的错误。
答案 1 :(得分:1)
您不必(“将此传播到目录中的所有子文件夹甚至子子文件夹”):
.gitignore
规则将应用于所有子文件夹,除非另一个.gitignore
规则(在其中一个子文件夹中)覆盖该规则。
请参阅Pro Git book gitignore
section:
从与路径相同的目录中的
.gitignore
文件或任何父目录中读取的模式,其中较高级别文件中的模式(直到工作树的顶层)被较低级别的文件覆盖级别文件到包含该文件的目录。