안녕하세요.
기계과 감성쟁이입니다.
2021.08.27 - [공부/코딩] - [정보] Git(깃)과 GitHub(깃허브)를 사용해보자 (2) - 저장과 복원
위 글에 이어지는 내용인 점 참고해주세요.
1. 평행우주 만들기 - branch
우리가 술집에 있다고 상상해보세요.
일반적으로 네 가지 종류의 술 중에 한 가지를 고르게 될겁니다.
소주, 맥주, 청하, 막걸리.
와 그런데 오늘따라 네가지 다 마셔보고 싶은거에요! 그리고 그 후가 궁금한거죠.
소주 먹을 경우, 맥주 먹을 경우... 등을 하나,하나 직접 실험해보고 싶을 때,
바로 그럴 때 branch를 사용하면 돼요!
앞으로 이걸 '평행우주'에 비유할게요.
다른 사람들에게 피해를 주지 않으니
안심하고 실험해볼 수 있어요.
git branch <평행우주 이름>
이것을 이용하여 현 시점 기준의 새로운 평행우주를 만들어줄 수 있습니다.
어떤 평행우주들이 있는지는 git branch 로 확인할 수 있어요.
git checkout <평행우주 이름>
이 명령어로 원하는 평행우주로 이동할 수 있는데요,
제가 방금 만든 평행우주로 가도 차이는 없어요. 처음에는 똑같이 복사된 세상이거든요.
mouse 를 지우고, pizza 를 생성한 뒤, "name : shrimp" 를 입력한 후
"parallel_1"이라는 메세지로 커밋했습니다.
예전과 다른 점은 git status를 입력하니 On branch my-idea 라고 나오는 점입니다.
자, 이제 원래대로 돌아가보죠.
기준이 되는 우주가 있었잖아요? 그것을 master 라고 합니다.
git checkout master
위 코드를 입력하니 원래대로 돌아왔네요.
2. 평행우주 합치기 - merge, rebase
소,맥,청,막 중에 막걸리의 취기가 제일 좋았어요!!
막걸리로 할래요!!
다른말로,
평행우주를 만들었는데, 너무 좋아서
이걸 master에다가 합치고 싶어요!!
이번엔 my-idea 기준의 또 다른 평행우주 'my-another-idea'를 생성하고,
cat을 삭제, ramen을 생성한 뒤 racoon 이라고 입력했습니다.
이제 이걸 master 로 데려가봅시다.
짜잔
어떻게 했냐면...은 위에 다 적혀있군요
git merge <평행우주이름>
위 명령어를 사용하시면 됩니다.
꼭 master 에서만 데려올 수 있는건 아니에요!
*주의사항
같은 파일이나 라인을 수정하는 것은 피하는 것이 좋아요. 충돌(Conflict)가 일어납니다.
해결 방법은 있지만, 골치아픈 일이에요.
git rebase <평행우주 이름>
rebase 를 사용하는 방법도 있어요.
merge와 rebase 의 차이는 밑의 도식으로 이해가 가능합니다.
위에 것이 merge 이고, 밑에 것이 rebase 입니다.
rebase 는 보통 branch 가 정~말 많을 때 정리용으로 사용한다고 하네요.
저는 아직까지 사용해본 적이 없습니다 ㅎㅎ;;
3. 기타 명령어
git log --graph
위 명령어를 사용하면 사진과 같이 그래프로 log 를 보여줍니다.
https://git-scm.com/docs/git-log 또는 조금 부족한 한국어 사이트 에 다른 명령어들도 적혀져있어요.
git branch -D <평행우주 이름>
브랜치를 지우는 명령어에요.
뭐... 그냥 알아두십사 하고...
음... 하면 할수록 신기한 Git의 세계;;;
더 자세한 Git 명령어 포스팅을 훗날로 미뤄두고
다음 포스팅엔 깃허브 사용하는 것을 올려야겠네요.
그럼 20000