commit 관련

  • git log
    • commit 로그 확인
    • git commit 내역을 보여준다
  • git add [파일 경로]
    • 변경된 파일 stage
    • 경로는 상대 경로 및 절대 경로로 지정 가능하다
    • 해당 파일은 staged 상태로 Staging Area에 추가된다
    • 해당 상태에서는 reset 등 명령어를 사용하여 되돌릴 수 있고, 이력이 남지 않는다
  • git commit -m “메시지”
    • Staging Area에 있는 파일을 commit 한다
    • commit을 실행하면 Staging Area에 있는 파일들이 하나의 이력으로 git directory에 저장된다
  • git push origin [브런치]
    • commit 된 파일들을 GitHub나 GitLab 등 원격 저장소(remote repository)에 반영된다.
    • 해당 명령을 실행한 후에는 되돌릴 경우 일반적으로 이력이 남게 된다.
      • hard reset과 -f 옵션을 이용한 push로 이력이 남지 않도록 복구할 수 있지만, 권장되지 않는 방법이다
  • git diff [commit sha]
    • 현재와 지정한 커밋의 비교 출력
  • Commit 컨벤션

 

branch 관련

  • git branch [옵션]
    • 현재 브랜치를 확인
    • git branch -v
      • 브랜치의 마지막 커밋 내역 추가 표시
    • git branch -a
      • 브랜치의 모든 정보 표시
  • git branch [브랜치 이름]
    • 브랜치를 생성
  • git branch --merged / --no-merged
    • merge 된 브랜치 표시 / merge 되지 않은 브랜치 표시
  • git branch -d [브랜치 이름]
    • 브랜치 삭제
    • 아직 merge 하지 않은 커밋이 있다면 삭제되지 않음
      • -D 옵션으로 강제 삭제 가능
  • git branch -m [브랜치 이름] [변경할 브랜치 이름]
    • 브랜치의 이름을 변경
    • -M 옵션을 사용하면 동일한 이름의 브랜치가 있어도 덮어씀
  • git checkout [옵션] [브랜치 이름]
    • 해당 브랜치로 전환
    • [옵션]에 -b를 넣으면 브랜치를 생성하고, 동시에 체크아웃

 

merge 관련

 

git tag

  • git tag
    • 태그 전체 조회
  • git tag [태그 이름]
    • local에 태그 추가
  • git tag -d [태그 이름]
    • local의 태그 삭제
  • git push origin [태그 이름]
    • 원격 저장소에 태그 추가
  • git push -d origin [태그 이름]
    • 원격 저장소의 태그 삭제

 

git stash

  • 수정된 파일을 stack에 저장할 수 있다
  • git stash (save)
    • 스택에 새로운 stash가 만들어지며, 현재 working directory는 마지막으로 커밋한 상태(nothing to commit, working tree clean)가 된다
  • git stash list
    • git stash 명령을 실행해 넣은 스택의 목록을 확인한다
  • git stash apply [stash name]
    • 스택에서 가장 최근의 stash를 가져온다
    • 옵션을 지정하면 특정 stash name을 가져올 수 있다
    • apply 명령 후에도 스택에 있는 stash는 그대로 남아있다
  • git stash pop [stash name]
    • apply와 동일하게 동작하지만, 스택에서 stash를 삭제한다

 

user.name & user.email 설정

  • 글로벌 설정
    • 이메일 설정: git config --global user.email “<설정할 이메일>”
    • 이름 설정: git config --global user.name “<설정할 이름>”
    • 글로벌 설정 확인: git config --global --list
    • 특정 이메일 삭제:git config --global --unset user.email “<삭제할 이메일>”
    • 특정 이름 삭제: git config --global --unset user.name “<삭제할 이름>”
    • 이메일 전체 삭제: git config --global --unset-all user.email
    • 이름 전체 삭제: git config --global --unset-all user.name
  • 특정 저장소 설정
    • 이메일 설정: git config user.email “<설정할 이메일>”
    • 이름 설정: git config user.name “<설정할 이름>”
    • 설정 확인: git config --list
    • 특정 이메일 삭제:git config --unset user.email “<삭제할 이메일>”
    • 특정 이름 삭제: git config --unset user.name “<삭제할 이름>”
    • 이메일 전체 삭제: git config --unset-all user.email
    • 이름 전체 삭제: git config --unset-all user.name

 

참고 사이트

실습 사이트 : https://learngitbranching.js.org/?locale=ko

Git 공식 가이드 : https://git-scm.com/book/ko/v2

Commit 컨벤션 : https://meetup.toast.com/posts/106

Branch Naming : https://velog.io/@kim-jaemin420/Git-branch-naming

'Study > etc' 카테고리의 다른 글

[Git] ssh key 생성과 GitLab 등록  (0) 2022.12.15
[JMeter] JMeter 기초  (0) 2022.12.13
[Linux] tmux 사용법 기초  (0) 2022.11.22
[Linux] 쉘 스크립트/터미널의 변수 설정  (0) 2022.11.18
[Linux] vim 주요 명령어  (0) 2022.11.15

+ Recent posts