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 merge [target 브랜치 이름]
- target 브랜치를 현재 checkout 상태인 브랜치에 병합
- 브랜치 네이밍 컨벤션
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 |