기본 명령어
git commit -am "comment" // 등록 및 commit을 동시에
git checkout HEAD~1 // 바로 이전 커밋으로 체크아웃
git checkout HEAD~5 // 5번째 전의 커밋으로 체크아웃
git checkout - // 바로 이전의 브랜치로 복귀하기
git checkout [master] // 특정 브랜치로 복귀하기
git remote add origin https://github.com/... // 원격 저장소 등록
git remote -v // 원격 저장소 목록 조회
git push 원격저장소별칭 브랜치이름 // 로컬 저장소의 브랜치를 원격 저장소에 동기화
브랜치
upstream은 브랜치 추적을 다르게 표현한 것이다.
로컬 저장소의 브랜치와 원격 저장소의 브랜치는 업로드할 수 있도록 매칭되어있으며, 이러한 매칭을 upstream tracking이라고 한다.
git branch -u origin/bbb // 업스트림 연결
git branch -vv // 트래킹 브랜치 목록 조회
git branch -d aaa // 브랜치 삭제
git branch -D aaa // 브랜치 강제 삭제
git push origin --delete aaa // 리모트 브랜치 삭제
Stash
stash는 간단히 말해 '안전한 보관'이다.
git stash // 커밋하기 전의 작업을 보관한다.
git stash list // 스태시에 저장된 스택을 확인한다.
git stash pop // 스태시 읽기
git stash drop // 복원할 때 충돌이 발생한 상황에서는 스택에서 자동으로 삭제 x. 별도 명령으로 삭제 가능.
브랜치 합치기
git branch -d [bbb] // 병합이 완료된 브랜치 삭제
git branch -D [bbb] // 강제 삭제
브랜치를 합치는 방법은 1. merge 2. rebase 두가지가 존재한다.
re-base : 파생된 브랜치의 기준이 되는 베이스 커밋을 변경하는 방법. 커밋 ID 또한 변경된다. 로컬에서만 실행하는 것이 필요한 이유..
git rebase [bbb]
되돌리기
git reset --soft HEAD~ (or 커밋 ID) // 지정한 커밋 위치로 복귀. 단순히 HEAD 위치를 이동하는 역할만 한다. commit만 때리면 되는 상태.
git reset --mixed HEAD~ // Unstaged 상태가 된다. 커밋하려면 add 명령어를 먼저 실행해야 함.
git reset --hard HEAD~ // 위의 soft, mixed에서 실제로 삭제되는 내용이 없었다. 이에 반해 hard는 되돌리는 시점 이후에 있는 내용을 모두 삭제한다.
git reset --hard HEAD // 해당 시점의 수정 작업을 모두 삭제한다.
reset은 기존 커밋 정보를 삭제하는 반면, revert는 기존 커밋을 남겨 두고 취소에 대한 새로운 커밋을 생성한다.
reset으로 간단하게 이전 상태로 되돌리는 것이 간편해 보일 수도 있지만, 저장소를 공개한 후에 reset을 사용하는 것은 협업 차원에서 위험하다는 것을 기억하자.
git revert HEAD (or 커밋 ID)
git revert 커밋ID .. 커밋ID
그 외
git blame 파일이름 // 누가 코드의 어느 라인을 수정했는지 파악할 때 유용한 명령어
'개발 > 개발 환경 셋팅' 카테고리의 다른 글
mac에서 JVM/JDK 문제 해결하고 KoNLPy 사용하기 (0) | 2025.03.16 |
---|---|
Go / Mac에서 GOPATH 설정하기 (0) | 2022.01.26 |
Mac OS에 Java 개발환경 셋팅 (VSCode) (0) | 2022.01.24 |