[Git] 고급 명령어
2022. 3. 14. 09:21ㆍGit
반응형
git log --graph
- 로그를 그래프 형태로 보기 좋게 출력해준다
$ git log --graph
git commit --amend
- 마지막 커밋의 내용을 수정합니다.
$ git commit --amend
git revert
- 이전의 커밋 내용으로 되돌려 새로운 버전의 커밋 내역을 만들어냅니다
- 기존의 버젼으로 넘어가는 것이 아니라 기존 내용을 가져와서 현재에 덮어써 새로운 커밋 버전을 만들어냅니다.
$ git revert <돌아갈커밋코드>
git reset
- 모드
- hard : 완전히 되돌림 <head : 변경, index : 변경, 저장소 디렉토리 : 변경>
- mixed : 인덱스의 상태를 되돌림, 기본값 <head : 변경, index : 변경, 저장소 디렉터리 : 변경 안 함>
- soft : 커밋만 되돌림 <head : 변경, index : 변경 안 함, 저장소 디렉터리 : 변경 안 함>
- 옵션
- ~ 은 커밋 내역 하나를 의미로 표시한 수만큼 커밋을 되돌립니다
- ORIG_HEAD는 reset 명령을 실행했을 때 내역을 보관, 해당 명령을 통해 git reset으로 지운 커밋을 되돌릴 수 있다
$ git reset --soft HEAD~~~
> 커밋은 바뀌지만 실제 파일 내용은 바뀌지 않음
> 3개 전의 커밋 버전으로 헤드가 이동
$ git reset --soft ORIG_HEAD
> reset 취소
git checkout HEAD --filename
- 특정 파일을 최종 커밋 시점으로 되돌린다
- --가 없을 경우 파일 이름이 브랜치 이름과 같은 이름일 경우 해당 브랜치로 체크아웃하거나 특정 커밋 시점으로 저장소 전체가 되돌아갈 수 있으니 조심해야 합니다
$ git checkout HEAD --파일이름
git rebase
- 브랜치 이력을 확인하면서 병합
- command line에서의 실행을 추천하고 싶지 않음 IDE에서 하길 추천
- --continue : 충돌 상태를 해결한 후 계속 작업을 진행
- --skip : 병합 대상 브랜치의 내용으로 강제 병합, 이후 해당 브랜치에서 git rebase를 진행할 수 없음
- --abort : git rebase 명령 실행을 취소
git rebase -i
- rebase 한 커밋 내역 합하기
- rebase 할 일이 있다면 IDE에서 하자
반응형
'Git' 카테고리의 다른 글
[Git] Tag 명령어 (0) | 2022.03.14 |
---|---|
[Git] Github 한글화 플러그인 (0) | 2022.03.14 |
[Git] 명령어 정리 (with Github) (0) | 2022.03.14 |
[Git] Branch와 Checkout (0) | 2022.03.14 |
[GIT] 설치 및 저장소 생성 (0) | 2022.03.14 |