https://www.youtube.com/watch?v=1I3hMwQU6GU&t=5254s
유튜브에 있는 git 강의를 들으면서 git 공부를 다시 해봤다
이전 버전으로 돌아가는 방법
1. reset
Add team Cheetas(이전) 시점으로 되돌리고 싶을 때
해당 시점으로 돌아간 다음 이후 행적은 히스토리에서 지워버리는 것이다
git reset --hard c5000(돌아갈 커밋의 log 해시번호)
2. revert
Add team Cheetas(이전) 시점으로 되돌리고 싶을 때
이때의 변화를 거꾸로 수행해서 히스토리를 남김으로써 이전의 상태와 같은 상태로 돌아가게 하는 것
git revert (되돌릿 커밋 해시)
revert는 되돌리고 싶은 시점 이후의 히스토리를 유지시키기 때문에
만약 Replace Lions with Leopards의 내역을 수정하고 싶다면
그 이후 내역은 유지한 채로 그 부분만 거꾸로 돌려서 수정할 수 있다!
협업을 하는 과정에서 reset으로 삭제를 해버리면 삭제한 내용을 기반으로 작업한 다른사람들의 코드와 충돌을 일으키기 때문에 한번 커밋한 내용은 revert를 이용해서 되돌려야 하는 것이다!
Replace Lions with Leopards로 revert를 하면
Replace Lions with Leopards에서 leopards.yaml을 만들었는데 Replace Cheetas with Panthers에서 leopards.yaml을 수정했기 때문에 충돌이 날것이다(삭제된 파일을 수정하게 되는 것이기 때문!)
revert를 하다가 멈춰있다! 컴퓨터가 결정을 내리지 못하고 있는 것이다!
leopards.yaml을 삭제해주고 revert를 계속하자
git rm leopards.yaml
git revert --continue
revert를 되돌리는 방법도 있다
revert된걸 다시 revert하면 너무 지저분하기 때문에 이럴 때는 reset으로 내역을 다 지워주자!
branch
브랜치 생성하고 생성한 브랜치로 이동하기
git switch -c 브랜치명
브랜치명 변경하기
git branch -m 해당브랜치명 바꿀브랜치명
브랜치 삭제하기
git branch -d 삭제할브랜치명
여러브랜치내용 확인하기
git log --all --decorate --oneline --graph
branch 합치기
1. merge
branch를 합치며 새로운 commit이 생긴다
브랜치의 사용 내역을 남기고 싶다면 merge를 하면 된다
main으로 브랜치 이동하고
git merge 병합할 브랜치명
병합된 브랜치는 삭제해주자
2.rebase
main 브랜치에 옮겨 붙이는 것이다
브랜치의 사용 내역을 남기고 싶지 않고 깔끔하게 만들고 싶다면 rebase를 하면 된다
협업할 때는 rebase를 사용하지 않는 것이 좋다
합칠 브랜치명으로 이동(merge와 반대)
git rebase main
main는 뒤쳐져있기 때문에
main 브랜치로 이동 후 fast-forward 해준다
git merge 합친브랜치명
병합된 브랜치는 삭제해주자
충돌 해결하기
1. merge
오류메세지 확인하고 필요한 내용 선택하고 다시
git add .
git commit
2. rebase
2개 이상일경우 차례로 해결해줘야한다.
먼저 필요한 내용 선택하고
git add .
git rebase --continue
다음 충돌 선택하고
git add .
git rebase --continue
하면 rebase 성공한다.
그 다음 main으로 들어가서 git merge conflict-2 해줘야한다.
병합하고나면 브랜치 삭제해주자
원격 목록 확인하기
git remote
원격 목록 자세히 확인하기
git remote -v
원격 지우기
git remote remove (origin 등 원격 이름)
'Git' 카테고리의 다른 글
README.md (0) | 2022.10.07 |
---|---|
git commit message convention (0) | 2022.10.06 |
fork, clone (0) | 2022.09.29 |
github pull/push, branch/merge (0) | 2022.09.28 |
git (0) | 2022.09.26 |
댓글