5. Git 고급

2020. 3. 2. 16:10Git

명령어 설명
# git tag 커밋을 참조하기 쉽도록 알기 쉬운 이름을 붙임
# git commit --amend 같은 브랜치 상에 있는 최종 커밋을 취소하고 새로운 내용을 추가하거나 설명을 덧붙인 커밋 
# git revert 이전에 작성한 커밋을 지움. 특정 커밋의 내용을 지우는 새로운 커밋을 만들어 지운 내역을 모든 사람이 알게 함
# git reset 어떤 커밋을 버리고 이전의 특정 버전으로 다시 되돌릴 때 사용. ( 커밋 내역을 남기지 않음 )
# git checkout HEAD --filename 아직 커밋하지 않은 변경 내역을 취소 
# git rebase  git merge처럼 병합할 때 사용. 브랜치가 많을 경우 브랜치 이력을 확인하면서 병합
# git rebase -i 서로 다른 두 개의 커밋 내역을 합침

1. git tag : 특정 커밋을 참조하는 이름 붙이기

# git tag -l : 현재 저장소에 있는 태그리스트

SHA-1 체크섬 값을 이용해 특정 commit에 태그 붙이기

# git tag -a 태그이름 SHA-1체크섬

# git show 태그이름


2. git commit --amend : 마지막 커밋 수정하기

# git commit --amend는 최종 커밋을 대체하는 새로운 커밋을 만드는 것. 명령을 실행하기 전과 후의 SHA-1 체크섬 값이 달라짐


3. git revert : 공개된 커밋의 변경 내역을 되돌리기

# git revert 커밋SHA-1체크섬값 : 명령을 실행한 시점부터, 대상 커밋까지 변경 내역을 거꾸로 적용하는 새 커밋을 만드는 것 


4. git reset : 이전 작업 결과를 저장한 상태로 되돌리기

# git reset --soft HEAD~~~ : 최근 커밋의 세번째 커밋까지, 커밋만 되돌리기

  --hard : 저장소까지

 

# git reset --hard ORIG_HARD : git reset 명령으로 지운 커밋을 되돌릴 수 있음


5. git checkout HEAD -- filename : 특정 파일을 최종 커밋 시점으로 되돌리기

# git checkout HEAD --filename : 파일의 내용이 대상 커밋 시점으로 완전하게되돌아감


6. git rebase : 브랜치 이력을 확인하면서 병합하기

# git rebase --continue : 충돌 상태를 해결한 후 계속 작업을 진행

# git rebase --skip : 병합 대상 브랜치의 내용으로 강제 병합. master 브랜치를 강제로 병합한 상태가 됨

# git rebase --abort : git rebase 명령 취소 

 

# git checkout b1

# git rebase master

< 충돌 해결 >

# git add test.py

# git rebase --continue 

# git merge b1 --no-ff

# git log --graph 

'Git' 카테고리의 다른 글

7. GitLab - 설치 / 접속  (0) 2020.03.04
6. Git 명령어  (0) 2020.03.03
4. Eclipse + Git 2  (0) 2020.03.02
3. Eclipse + Git  (0) 2020.03.02
2. git + github  (0) 2020.03.01