code

글로벌 Git 무시

codestyles 2020. 9. 29. 07:49
반응형

글로벌 Git 무시


특정 파일을 전역 적으로 무시하도록 Git을 설정하고 싶습니다.

내가 추가 한 .gitignore나의 홈 디렉토리 (에 파일을 /Users/me/)하고 난 다음 줄을 추가했습니다 :

*.tmproj

그러나 이것은 이러한 유형의 파일을 무시하지 않습니다. 내가 뭘 잘못하고 있는지 알 수 있습니까?


core.excludesfile이 전역 무시 파일을 가리 키도록 전역 구성 파일 을 설정해야 합니다.

예 :

* nix 또는 Windows git bash :

git config --global core.excludesfile '~/.gitignore'

Windows cmd :

git config --global core.excludesfile "%USERPROFILE%\.gitignore"

Windows의 경우 C : / users / {myusername} /. gitignore 위치로 설정됩니다. 위의 명령은 git이 사용할 무시 파일의 위치 만 설정합니다. 파일은 여전히 ​​해당 위치에서 수동으로 생성하고 무시 목록으로 채워야합니다 ( muruge 의 의견에서).

https://help.github.com/articles/ignoring-files/#create-a-global-gitignore 에서 명령에 대해 읽을 수 있습니다.


전역 제외 파일을 재구성하기 전에 다음 명령을 사용하여 현재 구성되어있는 파일을 확인할 수 있습니다.

git config --get core.excludesfile

제 경우에는 실행했을 때 전역 제외 파일이

~ / .gitignore_global
이미 몇 가지 항목이 나열되어 있습니다. 따라서 주어진 질문의 경우 먼저 기존 제외 파일을 확인하고 새 파일 마스크를 추가하는 것이 좋습니다.


다른 답변이 정확하더라도 전역 구성 값을 설정하는 반면 전역 git ignore 파일에 대한 기본 git 위치가 있습니다.

*아니야:

~/.config/git/ignore

Windows :

%USERPROFILE%\git\ignore

git디렉토리와 ignore파일 을 만들어야 할 수도 있지만 전역 무시를 해당 파일에 넣을 수 있습니다.

출처

패턴을 배치 할 파일은 패턴이 사용되는 방식에 따라 다릅니다.

  • 사용자가 모든 상황에서 Git이 무시하기를 원하는 패턴 (예 : 사용자가 선택한 편집기가 생성 한 백업 또는 임시 파일)은 일반적으로 core.excludesFile사용자의 ~/.gitconfig. 기본값은 $ XDG_CONFIG_HOME / git / ignore입니다. $ XDG_CONFIG_HOME이 설정되지 않았거나 비어 있으면 대신 $ HOME / .config / git / ignore가 사용됩니다.

처음부터 전역 gitignore를 만들려면 :

$ cd ~
$ touch .gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global
  1. 첫 번째 줄은 디렉토리를 다음으로 변경합니다. C:/Users/User
  2. 그 후 .gitignore_global확장자가 있는 빈 파일을 만듭니다.
  3. 마지막으로 해당 파일에 전역 무시를 설정합니다.
  4. 그런 다음 일종의 메모장으로 열고 필요한 무시 규칙을 추가해야합니다.

에서 여기 .

If you create a file in your repo named .gitignore git will use its rules when looking at files to commit. Note that git will not ignore a file that was already tracked before a rule was added to this file to ignore it. In such a case the file must be un-tracked, usually with :

git rm --cached filename

Is it your case ?


Remember that running the command

git config --global core.excludesfile '~/.gitignore'

will just set up the global file, but will NOT create it. For Windows check your Users directory for the .gitconfig file, and edit it to your preferences. In my case It's like that:

[core]
  excludesfile = c:/Users/myuser/Dropbox/Apps/Git/.gitignore

  1. Create a .gitignore file in your home directory
touch ~/.gitignore
  1. Add files to it (folders aren't recognised)

Example

# these work
*.gz
*.tmproj
*.7z

# these won't as they are folders
.vscode/
build/

# but you can do this
.vscode/*
build/*
  1. Check if a git already has a global gitignore
git config --get core.excludesfile
  1. Tell git where the file is
git config --global core.excludesfile '~/.gitignore'

Voila!!


If you use Unix system, you can solve your problem in two commands. Where the first initialize configs and the second alters file with a file to ignore.

$ git config --global core.excludesfile ~/.gitignore
$ echo '.idea' >> ~/.gitignore

I am able to ignore a .tmproj file by including either .tmproj or *.tmproj in my /users/me/.gitignore-global file.

Note that the file name is .gitignore-global not .gitignore. It did not work by including .tmproj or *.tmproj in a file called .gitignore in the /users/me directory.


You should create an exclude file for this. Check out this gist which is pretty self explanatory.

To address your question though, you may need to either de-index the .tmproj file (if you've already added it to the index) with git rm --cached path/to/.tmproj, or git add and commit your .gitignore file.


on windows subsystem for linux I had to navigate to the subsystem root by cd ~/ then touch .gitignore and then update the global gitignore configuration in there.

I hope it helps someone.

참고URL : https://stackoverflow.com/questions/7335420/global-git-ignore

반응형