일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Kadane's Algorithm
- SpringBoot 2
- 자바입력
- heroku
- array
- 카데인 알고리즘
- Easy
- R
- 자바 스레드 실행 순서 제어
- 수학
- scanner
- hash table
- 사칙연산
- input
- 자바 thread 실행 순서 제어
- JAVA11
- Today
- Total
DeFacto-Standard IT
.gitignore파일 - git commit 시 포함하면 안되는 파일 제외하기 본문
개발하면서 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/ 처럼 '/'문자로 구분한다.
직접 추가하려면 그냥 기술하면 되고, 내용을 자동적으로 생성하고 싶다면
위 사이트를 이용하면 된다. 해당 키워드(내 경우 'Java', 'Eclipse' 2가지)를 입력하고 Create를 하면 제외시킬 패턴을 자동으로 보여준다.
이를 복사하여 붙여넣으면 된다.
잘 보면 위의 3개 패턴이 보인다.
이를 추가하고 다시 업로드를 해보겠다.
이클립스에서도 설정이 있다.
이제 깃허브에서 pull할 때마다 classpath때문에 '>' 표시가 일어나는 일은 없다.
'Git' 카테고리의 다른 글
Unstaged Changes 제거하기 (0) | 2017.11.16 |
---|