목차
- 버전 비교하기 (diff)
- 작업 되돌리기 (reset / revert)
- 변경 사항 임시저장하기 (stash)
- 브랜치 관리하기 (branch / checkout / merge / rebase)
<버전 비교하기>
- git diff : 최근 커밋과 작업 디렉터리 비교하기
- git diff --staged : 최근 커밋과 스테이지 비교하기 (git diff -cached 명령과 같다.)
- git diff <커밋> <커밋> : 커밋끼리 비교하기. <커밋>부분에는 커밋해시가 오거나 HEAD, HEAD^, HEAD~1이 올 수 있다.
HEAD : 현재 브랜치의 최신 커밋
HEAD^ 또는 HEAD~1 : HEAD 이전 커밋
HEAD^^ 또는 HEAD~2 : HEAD의 두 개 이전 커밋
^의 개수나 ~ 뒤에 붙는 숫자에 따라 달라짐.
- git diff <브랜치> <브랜치> : 브랜치끼리 비교하기
<작업 되돌리기>
- git reset --soft <커밋> : 커밋만 되돌리기
- git reset <커밋> : 스테이지까지 되돌리기 (git reset --mixed 명령과 같다.)
- git reset --hard <커밋> : 작업 디렉터리까지 되돌리기
- git revert <커밋> : 취소된 새로운 커밋 만들기
<변경 사항 임시저장하기>
- git stash -m "메시지" : 그냥 git stash만 해도 됨. 이렇게 하면 메시지와 함께 임시저장 가능.
(stash 명령은 tracked 상태의 파일에만 사용 가능하다.다시 한번 상기시키기)
- git stash list : 임시 저장된 작업 내역 조회하기
stash@{0} : On master: 메시지
이런 형태로 뜬다. 가장 최신 저장된 것이 {} 안에 0이 들어가고, 나중에 저장된 것은 1, 2, 3... 순서대로.
- git stash apply <스태시> : 임시 저장된 작업을 적용하기 (ex. git stash apply stash@{0})
- git stash drop <스태시> : 임시 저장된 작업 삭제하기
- git stash clear : 임시 저장된 작업 모두 삭제하기
<브랜치 관리하기>
- git branch <브랜치> : 브랜치 만들기
- git branch : 현재 브랜치 보기
- git checkout <브랜치> : 체크아웃 하기
- git checkout -b <브랜치> : 브랜치 만듦과 동시에 체크아웃하기
- git merge <브랜치> : 현재 체크아웃한 브랜치에 <브랜치> 병합하기
-> 충돌 시 CONFLICT, Automatic merge failed 등의 메시지가 뜬다.
이럴 경우 충돌이 발생한 파일에 들어가서
<<<<<<<HEAD
(1)
=====
(2)
>>>>>>>><브랜치>
(1) 또는 (2)의 내용만 남겨두고 나머지를 지우는 방식으로 수정한다.
그 다음 스테이지에 올리고 커밋하면 성공적으로 병합이 됨.
- git branch -d <브랜치> : 브랜치 삭제하기 (현재 체크아웃한 브랜치를 삭제할 수 없으니 다른 곳으로 체크아웃한 후에 삭제한다.)
- git rebase <브랜치> : 브랜치 재배치하기 (현재 체크아웃한 브랜치를 <브랜치>의 최신 커밋으로 이동시킨다.)
(git log --oneline --branches --graph 를 쓰면 재배치한 결과를 커밋당 한 줄로 출력되는 그래프 형태로 확인 가능하다고 한다. 일단은 몰라도 무방)
'TIL > 깃&깃허브' 카테고리의 다른 글
백준 폴더 원격저장소로 Push함 (0) | 2024.09.26 |
---|---|
모두의 깃&깃허브 8장_명령어로 깃허브 다루기 (0) | 2024.09.08 |
모두의 깃&깃허브 6장_명령어로 버전 관리하기 1 (0) | 2024.09.06 |
모두의 깃&깃허브 5장_깃허브로 협업하기 (2) (1) | 2024.09.05 |
모두의 깃&깃허브 5장_깃허브로 협업하기 (1) (0) | 2024.08.31 |