# ver 충돌 방지용만 적혀있었던 것에 내용을 추가해보겠다.
요런식으로 뜨는데 stage에 올리고 commit해준다.
커밋하였다.
저번에는 origin/main이 있는 곳으로 되돌아가려면 '이 커밋까지 현재 브랜치를 초기화' 이걸로 되돌아갔는데
이번에는 브랜치를 추가해서 되돌아갈 것이다. 일단 main을 checkout한 상태에서 origin/main이 있는 부분을 클릭한다.
그리고 오른쪽 마우스를 클릭한다.
이렇게 뜰텐데 브랜치를 눌러준다.
요렇게 적고 브랜치를 생성해보겠다.
자동으로branch가 생겼으며 자동으로 checkout까지 된 상태다.
다시 python으로 되돌아가보면
아까 추가한 내용이 없어져있다.
그렇지만 다시 main을 checkout하면 다시 나타나니 이점은 걱정할 필요 없다.
아무튼 branch-use-commit을 checkout한 상태에서 위 사진처럼 작성하고 commit 해준다.
그러면 이렇게 뜰 것이다. main이 원래 있었는데 되돌아가서 새로 만들어줘서 이렇게 바뀌었다.
그리고 main으로 돌아가서 일단 push를 해준다.
방금 만든 branch-use-commit을 main에 반영해야겠다하면 merge를 해주면된다.
main을 checkout하고 난 뒤 branch-use-commit을 클릭하고 오른쪽마우스를 눌러서 '병합'을 해준다.
이렇게 뜨는거 체크박스 누르지말고 확인만 눌러준다.
그러면 이렇게 층돌이 나지만 당연히 충돌이 날 것이라 다들 예상했을 것이다.
아까 main을 checkout했고 branch-use-commit에 적었던 것이 main에 적은것보다 내용도 자세히 적었다. 따라서
얘 클릭해주고 오른쪽 마우스 클릭해서
충돌해결을 눌러주고 '저장소' 것을 사용하여 해결을 선택한다.
왜 '내것'으로 안하냐면 지금 main이 checkout된 상태이기 때문에 main이 현재 '내것'이고
branch-use-commit가 '저장소' 이다.
그런데 branch-use-commit가 좀 더 내용이 자세하게 적혀있어서 branch-use-commit로하자고
앞에서 말했기 때문에 '저장소'로 해줄 것이다.
그러면
자동으로 스테이지에 올라가지기때문에 바로 커밋해주면된다.
이때 커밋내용도 알아서 적혀있기 때문에 따로 건드리지 않고 커밋해준다.
이렇게 merge가 된 것을 볼 수 있다.
이렇게 하면 장점은 push를 할 때 아무 문제가 생기지 않는다.
저번에는 강제푸시를 해야했는데 이번에는 그럴 필요가 없다.
그리고 이제 branch-use-commit이라는 branch는 필요 없기 때문에 삭제해준다.
삭제해도 아무 문제없다.
branch-use-commit에 오른쪽 마우스클릭해서 삭제하면된다.
삭제하면 이렇게 되고, 이제 얼마든지 되돌아가고 싶은 지점을 클릭해서 오른쪽 마우스클릭해서 branch 생성을 하면
언제든지 그 시점으로 되돌아갈 수 있다. 이 방법이 오류도 안나고 좋다.
장점은 쉽고, 기록이 다 남아있다는 것이며
단점은 tree가 지저분해진다는 단점이있다. (혼자서 하는거면 상관없지만,
여럿이 협업하는 경우에는 좀 ... 여기까지 ㅋㅋ)
다음에는 revert를 이용해서 commit을 되돌리기 할건데 이거는 난이도가 높다는 단점이 있다.
'기술노트 > 깃허브' 카테고리의 다른 글
Revert를 이용해서 여러가지 commit을 되돌리기 (0) | 2021.01.17 |
---|---|
revert를 사용하여 commit 되돌리기 (0) | 2021.01.16 |
reset으로 commit 되돌리기 (0) | 2021.01.14 |
충돌 방지 (0) | 2021.01.13 |
병합(2) (0) | 2021.01.12 |