git 명령어 정리

개발하는 G0·2023년 2월 17일
0

https://gin-girin-grim.tistory.com/10 참고하기

  • git init
    : 해당 디렉토리의 버전관리를 시작한다. (.git 생성)

  • git status
    : 현재 상태를 본다

  • git add 파일이름(확장자 빼먹지 말기)
    : 특정 파일의 버전관리를 시작한다

  • git config --global user.name 유저이름
    : 유저이름을 등록한다.

  • git config --global user.email 0000@gmail.com
    : 0000@gmail.com 이라는 메일주소를 등록한다.

  • git commit
    : 변경사항을 버전으로 등록한다.
    - git commit -a: 변경사항을 전부 버전 등록한다
    (별도의 add가 필요없음. 단 맨 처음에 한번은 add가 필요)
    - git commit -m "msg": msg를 커밋 메세지로 해서 버전 등록한다.
    - git commit --amend: 바로 전 커밋 메세지를 수정한다.

  • git log
    : 버전관리 기록을 볼 수 있음
    - git log -p : 파일 안의 변경기록을 함께 볼 수 있음
    - git log 특정버전id : 특정 버전 이전의 기록만 보여줌
    - git log --branches --decorate: 모든 브랜치들의 버전 상태를 보여줌
    - git log --branches --decorate --graph: 그래프(그림)로 모든 브랜치들의 버전 상태를 보여줌
    - git log --branches --decorate --graph --oneline
    : 한 줄 씩의 그래프(그림)로 모든 브랜치들의 버전 상태를 보여줌
    - git log branch1..branch2: branch2에는 있고 branch1에는 없는 버전들을 보여줌
    - git log branch2..branch1: branch1에는 있고 branch2에는 없는 버전들을 보여줌
    - git log -p branch2..branch1: b1에는 있고 b2에는 없는 버전들의 차이점을 소스코드로 보여줌
    - git log --reverse: 시간순서 거꾸로 로그 보기

  • git diff
    : 현재와 이전 버전 사이의 차이점을 보여줌
    - git diff 버전id1 버전id2 (또는 git diff 버전id1..버전id2): 버전1과 버전2 간의 차이점을 보여줌
    - git diff 브랜치id1 브랜치id2 (또는 git diff 브랜치id1..브랜치id2): 브랜치1과 브랜치2 간의 차이점을 보여줌

  • git reset 특정버전id --hard
    : 특정 버전이 최신상태가 되도록 만듦
    - git reset --hard / git reset --head HEAD: 제일 최근의 버전이 최신상태가 되도록 만듦

  • git branch exp
    : exp라는 이름의 브랜치를 생성 (현재 브랜치의 복사 브랜치를 생성)

  • git branch -d exp
    : exp라는 이름의 브랜치 삭제
    - git branch -D exp: 강제로 삭제

  • git checkout branch1
    : branch1라는 이름의 브랜치로 들어가기
    - git checkout commitid: 해당 commit id의 commit으로 들어가기

  • git checkout -b iss53
    : git branch iss53 / git checkout iss53를 동시에 하는 의미

  • git stash / git stash save
    : 작업 중인 상황을 저장 (add되어 버전관리 중인 파일에만 적용됨)
    - git stash apply: stash로 저장되었던 가장 최신 상황을 불러오기
    - git stash list: stash로 저장된 상황 목록 보기
    - git stash drop: 가장 최신 stash 상황을 삭제
    - git stash pop: git stash apply와 git stash drop을 한번에 해 줌

  • merge의 경우 (exp 브랜치를 master 브랜치로 병합하려는 경우)
    1. master 브랜치로 이동한다.
    2. git merge exp
    브랜치 간에 파일이 다르면 자동으로 합쳐진다.

  • git remote add origin 주소
    : 현재 저장소에 원격 저장소를 연결하고 원격 저장소의 별명을 origin으로 지정한다.
    - git remote: 연결된 원격 저장소를 확인
    - git remote remove origin
    : 현재 저장소에 연결되어 있는 원격 저장소를 해제한다.
    - git remote -v: 원격 저장소를 자세하게 보여준다.

  • git push --set-upstream origin master
    : origin 원격 저장소에 master 브랜치를 push하도록 설정한다(--set-upstream).
    - git push -u "원격저장소" "현재 브랜치명"
    : 명령어를 날릴 때 마다 저장소명과 브랜치명을 입력하는 게 귀찮아질 때 -u 옵션을 사용하면 최초에 한 번만 저장소명과 브랜치명을 입력하고 그 이후는 모든 인자를 생략 가능하다.
    이후에는 인자 생략하고 git push만 하면 됨

  • git clone url주소.git dir1
    : dir1 디렉토리에 url주소의 저장소를 복제한다.
    - git clone url주소.git .
    : 현재 디렉토리에 url주소의 저장소를 복제한다.

  • git config --global push.default simple
    : 현재 사용 중인 브랜치만 원격 저장소에 push 하는 옵션이다.
    --global : 현재 로그인된 user에 적용됨
    --global 이 없으면 현재 저장소에만 적용됨
    - git config --global push.default matching
    : 로컬과 원격 저장소의 브랜치 이름이 동일한 모든 브랜치를 push하는 옵션이다. 이 경우, 원하지 않는 브랜치가 원격으로 push 될 수 있어서 simple을 기본으로 사용한다.

  • git pull origin <branch_name>: origin 원격저장소에서 특정 브랜치를 pull해온다.

profile
초보 개발자

0개의 댓글