[text] : 선택사항 값
<text> : 반드시 입력해야하는 값
1. Branch 관련 명령어
git checkout -b <브랜치이름> - 현재 시점에서 새로운 브랜치를 생성하면서, Checkout하는 명령어
git push origin <브랜치이름> - 로컬 브랜치를 원격 브렌치에 업데이트 , 또는 원격 브랜치 생성
git checkout <브랜치이름> - <브랜치이름>해당 브랜치로 Checkout
git branch
git branch --list - 현재 로컬 브랜치 목록을 보여줌
git branch -r
git branch -r --list - 원격 브랜치 리스트를 보여줌
git branch -d <브랜치이름> - 로컬 브랜치를 삭제함
git push origin -d <브랜치이름> - 해당 리모트 브랜치를 삭제함
2. Merge 관련 명령어
git fetch origin [브랜치이름] - 리모트 브렌치의 히스토리 상태를 업데이트 함
git merge <브랜치이름> - 해당 브랜치와 현재 브랜치를 병합
git rebase origin/<브랜치이름> - 해당 브랜치를 리베이스 함
3. Commit 관련 명령어
git stage -A - 현재 변경사항을 Stage함
git reset - 현재 Stage에 올라간 파일들을 Unstage함.
git commit -am "커밋메세지" - 현재 커밋 메시지로 Commit
git status - 현재 로컬 브랜치 변경사항을 표시
git checkout -- . -현재 모든 변경사항을 제거함.(함부로 사용하지 말것)
4. merge 충돌 관련 명령어
git mergetool -현재 충돌난 상태를 외부 병합툴로 실행
git diff - 변경 전후 상태 비교
git merge --abort - 현재 병합중 취소
git rebase --continue - 계속해서 rebase 병합함
git rebase --abort - 리베이크 병합 취소
5. 소스 추출시 Tracking된 파일만 압축
git archive -o latest.zip HEAD
Tag 달기
git tag <tagName> [Hash code] : 태그 생성.
git push origin master <tagName> : 특정 태그만 원격저장소에 올리기
git push --tags : 모든 태그를 원격저장소에 올리기
Tag 삭제.
git tag -d <tagName> : 특정 태그 삭제
git push origin :refs/tags/<tagName> : 원격저장소에 태그 삭제.
Git File목록 검색
git ls-files | grep -i <pattern>
파일을 수정한 부분중 특정 부분만 찾아서 되돌리고 싶을때
git difftool -y #ref -- /path/aa.cpp
머지 툴을 이용해서 해당 부분을 찾아서 되돌릴 수 있다.
6. MergeTool 이나 DiffTool을 사용할 때 등록되어 있는 Tool을 선택해서 사용할 수 있다.
git mergetool -t <toolname> OR git mergetool -tool=<toolname>
git difftool -t <toolname> OR git difftool -tool=<toolname>
ex)git difftool -t p4merge, git mergetool -t tortoisemerge ...등등
* toolname : .gitconfig 파일에 등록되어 있는 Tool이름을 의미 한다.