본문 바로가기
Git

git

by 수쨔앙 2022. 11. 20.

https://www.youtube.com/watch?v=1I3hMwQU6GU&t=5254s 

유튜브에 있는 git 강의를 들으면서 git 공부를 다시 해봤다

 

 

이전 버전으로 돌아가는 방법

 

1. reset

Add team Cheetas(이전) 시점으로 되돌리고 싶을 때

해당 시점으로 돌아간 다음 이후 행적은 히스토리에서 지워버리는 것이다

 git reset --hard c5000(돌아갈 커밋의 log 해시번호)

https://www.youtube.com/watch?v=1I3hMwQU6GU&t=5254s

 

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 등 원격 이름)

 

728x90

'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

댓글