Notice
Recent Posts
Recent Comments
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

DeFacto-Standard IT

.gitignore파일 - git commit 시 포함하면 안되는 파일 제외하기 본문

Git

.gitignore파일 - git commit 시 포함하면 안되는 파일 제외하기

defacto standard 2017. 11. 16. 23:44

개발하면서 github를 쓸 때, 협업 중 다른사람이 만든 프로젝트를 내려받았다고 가정하자.


프로젝트를 업로드한 사람이 '난 잘되는데 왜 넌 안돼냐' 라고 묻는 상황이 발생하는 경우가 몇 가지 있다.

프로젝트를 다운로드한 사람은 클래스에 계속 X표시가 나면서 에러가 난다.


그때마다 .m2폴더만 지우고 또다시 라이브러리를 전부 받는다.

그런데도 해결이 안되는 경우가 있다.


이는 IDE가 생성하는 파일이 몇 개 있고 이를 같이 commit해서 그렇기 때문이다.


환경이 완벽하게 같으면 상관없으나 보통 소스만 공유하므로 이를 commit하면 안된다.

다른 환경의 값을 참조하므로 프로젝트가 꼬이기 때문이다.

내 github에 등록된 프로젝트의 대문이다. 위에서 4가지는 다른 프로젝트로 옮겨 갈 때 존재하면 안된다...

이 것들은 github에서 지우도록 하겠다.


그러나 매번 commit할 때 이들을 신경 쓸 수는 없으므로, 자동으로 거를필요가 있는데,

이 파일들의 패턴을 gitignore라는 파일에등록해놓으면 된다.


commit하면 안되는 파일은 Eclipse IDE를 기준으로 '.classpath', '.project', '.settings/' 이다.


이 파일들을 .gitignore라는 파일에 패턴으로 써놓으면 된다.

.gitignore파일은 해당 프로젝트 안에 존재하는데, 어쩐 이유에서인지

어떤 프로젝트는 bin/에 존재하고

어떤 프로젝트는 아예 bin/ 없이 target/에 존재하기도 했다.

결론적으로 .gitignore 파일은 .git 폴더와 같은 경로에 있어야 한다. 즉, 해당 프로젝트의 최상위 폴더에 있어야 한다.

 

기술하는 방법은 다음과 같다.

주석을 표시할 때는 '#내용' 과 같이 쓰면 된다.

이 외에는 전부 패턴으로 구분된다.

파일은 .file 처럼,

폴더는 .folder/ 처럼 '/'문자로 구분한다.


직접 추가하려면 그냥 기술하면 되고, 내용을 자동적으로 생성하고 싶다면

https://www.gitignore.io/

위 사이트를 이용하면 된다. 해당 키워드(내 경우 'Java', 'Eclipse' 2가지)를 입력하고 Create를 하면 제외시킬 패턴을 자동으로 보여준다.

이를 복사하여 붙여넣으면 된다.


잘 보면 위의 3개 패턴이 보인다.

 

이를 추가하고 다시 업로드를 해보겠다.

 

이클립스에서도 설정이 있다.

이제 깃허브에서 pull할 때마다 classpath때문에 '>' 표시가 일어나는 일은 없다.

 

 

'Git' 카테고리의 다른 글

Unstaged Changes 제거하기  (0) 2017.11.16
Comments