만들기
이미 생성된 저장소 복사:
$ git clone ssh://user@domain.com/repo.git
새 로컬 저장소 만들기:
$ git init
로컬 수정
표시 작업 경로 아래 수정된 파일:
$ git status
마지막으로 제출한 파일 버전과의 차이점 표시:
$ git diff
현재 수정 사항을 모두 다음 제출에 추가:
$ git add
다음 제출에 특정 파일의 변경 사항 추가:
$ git add -p <file>
모든 로컬 변경 사항 제출:
$ git commit -a
제출 전 변경 사항 신고:
$ git commit
추가 메시지 커밋:
$ git commit -m 'message here'
커밋 시간을 이전 날짜로 커밋하고 설정:
git commit --date="`date --date='n day ago'`" -am "Commit Message"
마지막 커밋 수정
게시된 커밋을 수정하지 마세요. 기록을 커밋하세요!
$ git commit --amend
현재 분기의 커밋되지 않은 변경 사항을 다른 분기로 이동
git stash git checkout branch2 git stash pop
검색
현재 디렉터리의 모든 파일에서 텍스트 콘텐츠를 검색합니다.
$ git grep "Hello"
버전에서 텍스트 검색:
$ git grep "Hello" v2.5
커밋 내역
최신 제출 시작부터 모든 제출 기록 표시(해시, 작성자 정보, 제출 표시) 제목 및 시간):
$ git log
모든 제출물 표시(제출된 해시 및 메시지만 표시):
$ git log --oneline
사용자의 모든 제출물 표시:
$ git log --author="username"
파일의 모든 수정 사항 표시:
$ git log -p <file>
누가, 언제, 파일의 내용을 수정했는지:
$ git blame <file>
분기 및 태그
모두 나열 브랜치:
$ git branch
브랜치 전환:
$ git checkout <branch>
새 브랜치 생성 및 전환:
$ git checkout -b <branch>
현재 브랜치를 기반으로 새 브랜치를 생성합니다.
$ git branch <new-branch>
원격 분기를 기반으로 추적 가능한 새 분기 만들기:
$ git branch --track <new-branch> <remote-branch>
로컬 분기 삭제:
$ git branch -d <branch>
현재 버전 태그 지정:
$ git tag <tag-name>
업데이트 및 릴리스
현재 구성된 리모컨 목록:
$ git remote -v
리모컨에 대한 정보 표시:
$ git remote show <remote>
새 리모컨 추가:
$ git remote add <remote> <url>
원격 버전을 다운로드하되 HEAD에 병합하지 않음:
$ git fetch <remote>
원격 버전을 다운로드하고 자동으로 HEAD 버전과 병합:
$ git remote pull <remote> <url>
원격 버전을 로컬 버전에 병합:
$ git pull origin master
로컬 버전을 원격 버전에 게시:
$ git push remote <remote> <branch>
원격 분기 삭제:
$ git push <remote> :<branch> (since Git v1.5.0)
또는
git push <remote> --delete <branch> (since Git v1.7.0)
태그 게시:
$ git push --tags
병합 및 재설정
분기를 현재 HEAD에 병합:
$ git merge <branch>
현재 HEAD 버전을 브랜치로 재설정:
게시된 커밋을 재설정하지 마세요!
$ git rebase <branch>
재설정 종료:
$ git rebase --abort
충돌을 해결한 후 재설정을 계속하세요.
$ git rebase --continue
구성된 병합 도구를 사용하여 충돌 해결:
$ git mergetool
편집기에서 충돌을 수동으로 해결한 후 파일을 해결됨으로 표시
$ git add <resolved-file> $ git rm <resolved-file>
실행 취소
작업 디렉터리의 모든 수정 사항 삭제:
$ git reset --hard HEAD
캐시에서 모든 파일 제거(즉, 마지막 git add 실행 취소):
$ git reset HEAD
모든 로컬 수정 사항 삭제 파일:
$ git checkout HEAD <file>
커밋 재설정(별도의 새 커밋 생성)
$ git revert <commit>
HEAD를 지정된 개정으로 재설정하고 해당 개정 이후의 모든 변경 사항을 삭제합니다.
$ git reset --hard <commit>
将HEAD重置到上一次提交的版本,并将之后的修改标记为未添加到缓存区的修改:
$ git reset <commit>
将HEAD重置到上一次提交的版本,并保留未提交的本地修改:
$ git reset --keep <commit>