如何选择不同的.gitignore文件?

时间:2015-09-01 15:43:17

标签: git github

我做的时候

  // 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

2 个答案:

答案 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格式的自定义文件。