1. Git 설정
$ git config --global user.name "John Doe"
$ git config --global user.email john@gmail.com
선호하는 에디터가 있으면 아래도 해준다.
$ git config --global core.editor vi
- 도움말 보기
$ git help <verb>
2. 기본 명령어
- Git 저장소 만들기
$ git init
- 저장소 clone하기
$ git clone git://github.com/schacon/grit.git
- 저장소에 파일 추가하기
$ git add *.c
- 저장소에 commit하기
$ git commit -m "initial commit"
- 파일의 상태 확인하기
$ git status
- 무시하고 싶은 파일은 .gitignore에 적어준다. 표준 Glob 패턴 입력이 가능하다.
- 변경 내용 확인하기(수정한 파일과 staged된것의 내용 비교)
$ git diff
- 변경 내용 확인하기(staged된것과 저장소의 내용 비교)
$ git diff --cached
or
$ git diff --staged
- 파일 삭제하기
$ git rm test.txt
- 파일 삭제시 파일이 변경된 상태라면 git rm이 되지 않는다. 그러므로 위의 명령에 -f를 주거나 rm 후 git rm을 해야 한다.
- 파일을 실제로 지우지는 않고 저장소에서만 제거하고 싶으면
$ git rm --cached readme.txt
- 파일 이름 변경하기
$ git mv README.txt README
or
$ mv README.txt README
$ git rm RADME.txt
$ git add README
- 히스토리 조회하기
$ git log
- staged 상태인 것 되돌리기
$ git reset HEAD readme.txt
- 수정한 파일을 수정이전 버전으로 되돌리기
$ git checkout -- readme.txt
- 현재 프로젝트에 등록된 리모트 저장소 확인
$ git remote -v
- 새 리모트 저장소 추가
$ git remote add [단축이름] [url]
- 리모트 저장소와 연결된 추적 브랜치 만들기
$ git checkout -b [로컬 브랜치 이름] [리모트 저장소 이름]:[리모트 브랜치 이름]
- 리모트 저장소에서 데이터 가져오기
$ git fetch [remote-name]
- 리모트 저장소에서 데이터 가져와서 머지까지 하기
$ git pull [remote-name]
- 파일을 리모트 저장소에 올리기
$ git push [리모트 저장소 이름] [브랜치 이름]
브랜치 이름이 로컬과 리모트가 다른 경우
$ git push [리모트 저장소 이름] [로컬 브랜치 이름]:[리모트 브랜치 이름]
- 리모트 브랜치 삭제하기
$ git push [리모트 저장소 이름] :[리모트 브랜치 이름]
- 리모트 저장소의 구체적인 정보 확인하기
$ git remote show origin
- 리모트 저장소의 이름 바꾸기
$ git remote rename pb paul => pb를 paul로 바꾼다.
- 리모트 저장소 삭제하기
$ git remote rm paul
- tag 조회하기
$ git tag
- 간단한 tag 만들기(lightweight tag)
$ git tag v1.4
- 자세한 tag 만들기(annotated tag)
$ git tag -a v1.4 -m 'my version 1.4'
- tag 정보 확인하기
$ git show v1.4
- 예전 커밋에 tag 넣기
$ git tag -a v1.2 9fceb02 => 커밋 체크섬 일부를 마지막에 넣어줌
- tag를 리모트 서버에 전송하기
$ git push origin v1.4
- 여러개의 tag를 한번에 보내기
$ git push origin --tags
- 브랜치 목록 보기
$ git branch
- 브랜치 만들기(만들기만 하고 이동하지는 않음)
$ git branch testing
- 브랜치 이동하기
$ git checkout testing
- 머지된 브랜치 삭제하기
$ git branch -d testing
- 머지가 안된 브랜치 강제로 삭제하기(조심해서 사용하자)
$ git branch -D testing
- 브랜치 머지하기
$ git merge master => master의 내용을 현재 브랜치로 머지함
- 현재 checkout한 브랜치 기준으로 머지정보 확인하기
$ git branch --merged
$ git branch --no-merged
- rebase 하기
$ git rebase master
- server 브랜치를 master 브랜치로 rebase 하기
$ git branch master server
댓글 없음:
댓글 쓰기