我做的时候
// this is in a bash script
git add -A .
git commit -m $a
git push test master
如何选择单独的.gitignore
文件。上面的方法使用.gitignore
,但我想使用名为.gitignore1
的类似文件。
如何指定要使用的.gitignore文件?
功能 - p1
p1() {
git config --local core.excludesfile = /Users/a/root/.gitignore1
a=$1
if [ $# -eq 0 ]
then
a=$(timestamp)
fi
git add -A .
git commit -m $a
git push test master
echo $a
}
文件 - .gitignore1
/.DS_Store
/web
答案 0 :(得分:3)
您可以设置外部文件以忽略更改:
git config --local core.excludesfile PATH_TO_GITIGNORE1
要了解详情,请查看this
示例:强>
~/.gitignore1
- 忽略
~/.gitignore2
- 忽略b
$ cat ~/.gitignore1
a
$ cat ~/.gitignore2
b
script.sh
添加所有可能的内容并进行提交。它需要两个args:忽略文件的路径和提交的消息:
$ cat script.sh
#!/bin/bash
git config --local core.excludesfile $1
git add .
git commit -m $2
git config --local --unset core.excludesfile
$ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
a
b
script.sh
nothing added to commit but untracked files present (use "git add" to track)
提交可能的所有内容(b和script.sh)
$ ./script.sh ~/.gitignore1 "First"
[master (root-commit) 5908fbd] First
2 files changed, 5 insertions(+)
create mode 100644 b
create mode 100644 script.sh
尽可能提交一切(a)
$ ./script.sh ~/.gitignore2 "Second"
[master d6c06d8] Second
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a
答案 1 :(得分:0)
您可以将文件添加到.git/info/exclude
,以排除您不希望放入.gitignore
格式的自定义文件。