앞에서는 기본적인 이론을 알았다면 지금부터는 직접 해보았고
같이 따라해보기도 하지만 내가 혼자서 잠시 해보는것도 중요한거 같다!
하다보면 이상한것도 발견하고 왜 이렇게 뜨는지에 대해서 궁금해져서 나중에 덜 당황할듯..?ㅋㅋㅋ😗😗
1.특정 브랜치
①HEAD : 현재 작업중인 브랜치의 커밋을 가리킨다.
내가 어디에서 작업중인지, 그 작업중인 브랜치에서 최신커밋을 말함
②CheckOut: 특정브랜치에서 작업할 수 있도록 작업 환경을 바꾸는 것
head의 위치를 특정브랜치의 최신커밋으로 옮기는것을 말한다.
=>ex) 내가 master 브랜치 2번커밋에서 작업을 하다가 second브랜치 2번 커밋으로 넘어가고 싶을때 체크아웃한다.
1-1체크아웃 실습
👆처음에 만들면 자동으로 master브랜치인것을 확인 할 수 있고second라는 새로운 브랜치를 만들었다.
▷저렇게 하고 second브랜치에 커밋을 했다.저기 3은 커밋의 숫자!(✅second는 master커밋까지 받기때문에 3개임)
=> second branch에서는 이때까지 한 커밋이 다 있지만 master branch에서는 어떻게 될런지?🤔
: master브랜치로 들어가서 탐색기 확인해보면 second branch에서 만든 파일은 없고 딱 그전까지만 파일안에 있는 것을 확인이 가능하다.(탐색기 확인하니까 쉽게 볼 수 있어서 좋았다)
2.병합하기
브랜치를 merge(=병합)한다고 함.
이렇게 두가지가 있다.👆
1.second브랜치와 fast forward merge해보기(빨간색)
-master브랜치와 second 브랜치를 합치고나서 master브랜치에서 탐색기를 눌러보면 second커밋이 들어와있는것을
확인 할 수 있다.
(master branch는 가만히 있다가 빠르게 second branch의 정보를 받는 것이므로 우린 이걸보고 fast forward merge라고 한다.)
그리고나서 합쳐진 second브랜치는 필요없기때문에 삭제해도괜찮다.
2.third브랜치와 merge해보기(fast forward branchX)
새롭게 third브랜치를 생성하고 그 브랜치에 A,B폴더 2개를 만들어서 커밋 해준다.
그사이에 master에도 커밋을 해주고나서 병합을하면
이렇게 모든 내용이 병합된것을 볼 수 있다.
3.충돌
혼자 깃을 공부하다가 제일 당황하고 당최 어떻게 해야하는건지 곤란했던 충돌 부분이다.ㅋㅋㅋ
충돌: 병합하려는 두 브랜치가 같은 내용을 다르게 수정한 상황
(=>이러면 깃도 결정을 못내려서 우리에게 알려줌, 우리가 선별해야함🤔)
-대처법 : 1.어떤 것을 반영할지 직접 선별한다,
2.다시 커밋한다.
3-1.충돌실습
<<<<<<< HEAD
master =>현재 브랜치(master)내용
=======
foo => foo 브랜치 내용
>>>>>>> second
👆충돌 후 탐색기 들어가보면 나와있는 상황, 깃이 알려주는 것
대처법 중 1번 #사진 스크린샷
이 방법은 내가 가지고 있는 파일로 하겠다라는 결론을 내리고 충돌을 해결하는 것이다.
그리고 나서 파일상태 목록에 들어가면 커밋메세지가 자동으로 적혀있는데 그걸 커밋해주면 자동으로 병합완료!!
(=>😗😗사실 이부분이 나는 어떻게되나 제일 궁금했는데 알아서 다 되어있어서 편했다...!)
4.브랜치 재배치
위에 그림처럼 두번째에서 브랜치를 나눈것을 4번째에서 옮긴것으로 재배치를 할 수 있다.
: 재배치하고자 하는 브랜치(이미지에서는 second branch)에 체크아웃하고 재배치를 하러 갈 브랜치의 오른쪽 버튼
누르면 재배치가 있다. 그걸 누르면됨
🟢🟡🔴여기서 second 브랜치 말고 master브랜치로 가게 되면
위의 이미지와 같이 뜨게 되는데 저기 맨 윗줄에 '커밋하지 않은 변경사항'이 새로 생겼다.
❗그래서 보니까
저기 보면 foo브랜치가 처음에 있던 곳에서 다시 새로 재배치한 사이동안 master브랜치에서 만든 내용들이 그 안에 들어가 있었다.
처음에 저거보고 잘못 재배치 된 줄 알고 혼자 새로해보고 이것도 저장해보고 저것도 삭제해보고 다했는데
잘보니까 딱 그 사이에 있던 내용들이 변경사항으로 올라가있는 것을 볼 수 있었다.
✅이해한거
새로 재배치가 되면서 그 동안 만든내용물들이 없어져있다고 한다. 위 이미지에서 확인이 가능하다
(다른사람들은 뭐지 라고 할텐데 내 공부를 위한거니까 일단ㅋㅋㅋ)😎
오늘은 브랜치에 대해서 공부를 했는데 아직까지 바로 써먹으라면 쫌 더듬되고할꺼같지만 그래도 하나 더 깃허브에 대해서 알아간다....ㅎ
블로그를 적으면서 공부하니까 진짜 두배로 공부하는 느낌이라 이해도 더 잘되는듯..