Git 명령어

1 minute read

자주 쓰는 Git 명령어 모음

Branch

  • Branch list up
$ git branch
  • Remote를 포함한 branch list up
$ git branch --all 
$ git branch -a
  • Remote Branch List 업데이트
    prune: 다듬다
$ git remote update origin --prune
$ git fetch --prune
  • Branch 생성
    ※계승할 branch는 remote branch를 포함한다.
$ git branch <branch name> [<계승할 branch name>]
  • Branch 전환
$ git checkout <branch name>
  • Branch 삭제
$ git branch -d <branch name>
  • Branch 병합 (Merge)
    현재 Branch를 < branch name>과 병합
$ git merge <branch name>
  • Branch 병합 (Rebase)
    현재 Branch의 Base를 의 head로 옮겨버림. 이렇게 되면, 현재 Branch가 의 연장선이 되기 때문에 log graph가 간결해진다.
$ git rebase <branch name>

원격 저장소

  • 로컬 저장소를 빈 원격 저장소에 연결
    보통 원격 저장소 이름을 origin으로 많이 사용한다.
$git remote add <원격저장소 이름>
  • local과 remote 연결 상태 확인
$git remote -v

동기화(Sync)

  • 원격 저장소에 밀어 넣기
$ git push <원격저장소 이름> <branch name>
  • local branch 모든 변경사항을 한 꺼번에 밀어 넣기
$ git push <원격저장소 이름> --all
  • 원격 저장소 데이터 로컬에 가져오기만 하기
    remote/origin/master를 원격저장소와 동기화 한다. 로컬저장소하고 동기화를 위하여 merge를 한 번더 작업해야 한다.
$ git fetch
  • 원격 저장소 데이터 로컬에 가져오고 병합하기
    git fetch 후, merge와 같다. 하지만 Conflict이 발생할 경우, 내부적으로 알아서 수정한다. 어떤 위치에서 Conflict 되었고, 수정되었는지 없다는 단점이 있다. 따라서, git fetch 후, merge 하는 것을 추천!
$ git pull

되돌리기

  • 로그 확인하기
    뒤에 숫자를 넣으면, 가장 최신 commit부터 시작하여 숫자만큼 log가 출력된다. 숫자를 생략하면 모든 commit 기록이 출력된다.
$ git log -<숫자>
  • 로그 그래프로 확인하기
% git log --graph
  • revert
    지정한 SHA-1 체크섬으로 돌아간다. 이 때, 그 동안의 commit 기록은 유지한다. 커밋으로 발생한 변경 내역의 반대 커밋을 한다. 즉, 추가한 코드는 빼고, 지운 코드는 다시 추가하는 커밋을 한다. 이 때, 체크섬 앞 4자리만 써도 잘 인식한다.
$ git revert <SHA-1 체크섬>
  • reset
    지정한 SHA-1 체크섬으로 돌아간다. 이 때, 그 동안의 commit 기록을 모두 삭제한다. 일반적으로 공개된 커밋 내역을 수정/삭제하는 것은 매우 위험하다. 변경내용을 유지하면서 되돌리는 revert를 사용하자. reset은 되도록 사용하지 말라는 의미에서 사용법을 기록하지 않는다.
  • 하나의 파일만 되돌리기
    특정 파일을 SHA-1 체크섬 상태로 되돌린다. 보통 HEAD를 많이 쓴다.
$ git checkout <SHA-1 체크섬> -- <파일명>

Tags:

Categories:

Updated:

Leave a comment