我正在一个高度嵌套的项目中工作,想要从 shell 添加一些文件到 gitignore,但是相对路径的工作有点痛苦。
我可以做这样的单行(包裹起来以便于阅读):
echo file |
xargs -n1 greadlink -f |
xargs realpath --relative-to=$(git rev-parse --show-toplevel) \
> $(git rev-parse --show-toplevel)/.gitignore
但是如果感觉应该有更好的东西,比如
git addtoignore file
。是否有一个简单、可靠的命令可以用来将文件添加到 gitignore,而无需处理相对路径名。
除了使用多个 .gitignore 允许您直接添加
file
之外,另一种方法是使用 find
,假设您的 file
名称足够唯一。
cd /path/to/repo
find . -name "file" >> .gitignore
这里有两个解决方案,可以避免需要将目录更改为存储库的根目录来编辑那里的 .gitignore 文件。
find . -name "<REGEX>" >> "$(git rev-parse --show-toplevel)/.gitignore"
或者对于单个文件
echo "file" >> "$(git rev-parse --show-toplevel)/.gitignore"