깃 사용하다 보니 실수도 많이 하고 잘못 사용도 하는거 같아서, 다른사람들은 어떻게 사용하는지 찾아 정리
rebase vs merge
merger는 기록이남구.. rebase는 기록이 남지 않는다. 작 꺠끗한 프로젝트 기록을 얻을 수 있다.
git fork
직접적인 push 권한은 없지만, 해당 프로젝트를 오픈소스로 관리할 떄 사용되며, pull request를 통하면 원제작자에게 요청하는 방식으로 사용됨.
버전정보표시
[Major] . [Minor] . [Build Number] . [environment] 으로..
- [Major] :주로 대규모 패치 인 경우 카운팅.
- [Minor] : 기능 추가 및 새선 시 카운팅.
- [Build Number] : 자잘한 기능 및 잡다 버그 수정 시 카운팅.
- [environment] : 빌드 환경 설정 값.(생략가능.) ex : 0.1.0.a -> 0.1.2 등..
.gitignore 사용법
사용자가 원하지 않는 파일들을 자동적으로 git 커밋 대상에서 제외 시켜주는 것이다.
-
어떤한 항목을 제외??
- IED tool과 관련된 설정파일
- 언어의 빌드 결과물, 로그, 패키지 관련 파일
- 그 외 프로젝트에서 사용자가 제외하기 원하는 파일 등등…
-
프로젝트 촤상단 폴더에 생성하면됨.
-
파일 규칙
- ’#‘은 주석의 역할
- 표준 glob 패턴을 사용
- ’/’ 를 사용하면 규칙이 프로젝트 전체에 적용되지 않음
- ’/’ 로 끝나는 것은 폴더로 인식
- ’!’ 를 사용하면 무시가 되지 않음
- (단, 한번 제외된 폴더의 내의 파일들은 다시 추가 할 수가 없다는점..)
-
예제
# 모든 확장자 .a 파일을 무시 *.a # 무시하는 모든 확장자 .a 파일들 중에서 lib.a 파일은 무시하지 않음 !lib.a # Project/ # ㄴ.gitignore # ㄴA/ # ㄴa.txt # ㄴTODO/ # ㄴtt.txt # ㄴTODO/ # ㄴt.txt # # 현재 폴더 중에서 TODO 폴더에 있는 모든 파일을 무시 # (즉, t.txt 파일만 무시되고 tt.txt 파일은 무시되지 않음) /TODO # 프로젝트 전체 폴더 중 TODO라는 폴더명을 사용하는 TODO 폴더의 하위 파일은 모두 무시 # (즉, t.txt 파일과 tt.txt 파일 모두 무시됨) TODO/ # Project/ # ㄴ.gitignore # ㄴdoc/ # ㄴd.txt # ㄴp.pdf # ㄴserver/ # ㄴss.txt # ㄴpp.pdf # # 현재 폴더 중에서 doc 폴더 바로 밑에 있는 .txt 확장자 파일만 모두 무시 # 단, doc/server/ss.txt 와 같은 형식에서는 .txt 확장자 파일이 무시되지 않음 doc/*.txt # 현재 폴더 중에서 doc 폴더 하위에 있는 .pdf 확장자 파일은 # doc 폴더 하위 어떤 폴더에 들어 있더라도 모두 무시 # (즉, p.pdf 파일과 pp.pdf 파일 모두 무시됨) doc/**/*.pdf
-
특정 프로젝트에 대해 gitignore 만들어주는 사이트.
-
참고 블로그