개발 기록 남기기✍️

git branch merge 연습하다가 키보드 부술 뻔한 후기🤦‍♀️(feat. 근황) 본문

개발 일기장

git branch merge 연습하다가 키보드 부술 뻔한 후기🤦‍♀️(feat. 근황)

너해동물원 2022. 12. 15. 12:49

 

어느덧 메가바이트스쿨 프론트엔드 교육 4일차...!

어떻냐고요..?

 

 

도대체 고등학교 때는 어떻게 하루에 8-9시간씩 수업을 들은거지..?

(대학생 때는 탱자탱자 논 기억 밖에 없어서 PASS..★)

 

지금 듣고 있는 교육 과정은 7개월 동안 매일 13시-22시 수업이 진행된다.

그 시간 동안 집중력을 발휘하는게.. 참 쉽지 않더라...🥲 그래서 카페인과 당의 도움을 많이 받고 있다. (줄여야 하는데.. 또륵)

학우님들.. 저 사람은 항상 뭘 마시고 있네? 싶겠지만... 이해해주세요..😉

수업이 끝나고나면 피곤이 몰려오면서 예복습을 꿈꿨던 나는 어느샌가 따뜻한 극세사 이불 속으로 들어가 있다..Aㅏ..

 

아직까진 스케쥴에 적응하는 중...

어쩌겠어요! 지식을 습득하려면, 뭔가를 배우기 위해선 그만한 시간과 노오력이 필요한 것을!!

그리고 다른 학원 사전 설명회에서 들었던 내용인데,

"어떻게 전공자에 준하는 역량을 가질 수 있냐구요? 간단합니다. 1개월을 1년처럼 총 4개월을 살면 됩니다."

(여긴 4개월 코스였다.)

 

호덜덜.. 근데 이게 맞다.. 남들은 4년동안 대학 다니면서 얻은 지식과 역량을 7개월만에 쉬어가면서 다 얻으려고 하는 것은 완전 놀부 심보 아니냐고! 그렇기 때문에 내가 이 교육 과정을 듣게 된 계기를 항상 리마인드 하면서, 기업에서 원하는 프론트엔드 개발자가 되기 위해 노오력!! 또 노오력!!!!! 빠샤!!!!👊👊👊

 


이번 주는 git에 대해서 배우고 있다.

지금까지는 git을 github Desktop으로 관리하고 있었던 터라 git bash를 사용해서 관리하려고 하니.. 눙물이 나왔다..

git bash는 Vim 에디터를 사용하는데 Vim에 아직 적응이 덜 되어서 습관적으로 Ctrl + Z나 다른 커맨드를 입력하고.. 오류가 발생하고.. 정신이 혼미해지고..ㅋㅋㅋㅋ 후에엥엥

 

게다가 강사님께서 git을 다룰 때, 개발할 때 안좋은 습관을 얘기해주시는데.. 이거 완전..

 

 

덴댱...

git add를 하고 나서 git status로 staging area에 잘 올라갔는지를 항상 확인하라고 하셨는데 나는 나를 너무 믿나보다..

잘 올라갔겠지! 하고 바로 커밋 달러 가는데 강사님은 git status 입력하고 계시는 것 보면서 아차 하는 중..

안 좋은 습관 누가 initialize 해주세요..

 

그리고 지금부터 어제 한 시간을 통으로 날려먹은... 얘기를 하고자 한다. 흑흑

 


한 repository의 main branch에서 introduce.md 파일을 생성하고, 그 시점에서 hobby, address branch를 만들어서 각 브랜치에서 introduce.md 파일에 취미, 주소를 작성한 뒤 merge를 진행하려고 했다.

 

 

그 다음 hobby branch로 이동해서..

 

 

이렇게 작성해준 다음.. 헤헤 branch에서 작업한 거니까 main이나 address branch에서는 introduce.md 파일엔 아무 것도 없겠지? 하면서 main으로 이동해서 md 파일을 확인해봤다. 근데..

 

 

롸..? main의 md 파일에도 hobby에서의 작업 내용이 그대로 적용되었다.

에이..ㅎㅎ 일단 address에서도 작업해보자..! 하고 address 브랜치로 넘어가서 md 파일을 열어봤다.

근데.. 

 

 

 

너는 또 왜그뤠...?

그래서 branch와 파일을 다 지우고 다시 처음부터 시작해보기도 하고, git bash를 껐다 켜보기도 하고, 다른 repository에서 작업해보기도 했지만 문제가!!!!!!! 여전히!!!!!!!! 발생했다!!!!!!!!!!!!!!

이걸 30분 넘도록 붙잡고 있으니까.. 키보드 부수고 싶었다. 가뜩이나 문제 해결도 안되는데 Vim 에디터는 키보드로밖에 못 다루니까 키보드를 한 대 치려다가..

 

 

참자.... 산지 얼마 안됐다..

다시 마음을 진정하고.... 도대체 뭐가 문제인지를 한번 생각해 봤다.

근데 코드들을 다시 돌아보니까.. 문제 투성이였다... ^.^

 

파일을 처음 만들거나 작업 단위의 변경 사항이 있을 때 꼭 제일 먼저 git add 해주기!

 

네에.. introduce.md 파일을 만들고 나서 stage에 안 올려줬다..

branch에서 파일을 작업하려면 해당 branch에 push를 해야하는데, stage에 올려주지도 않았는데 어떻게 push를 할 수 있겠어요!!

 

git bash : (억울..)

 

미안..

그리고 두 번째 문제!

 

branch에서 작업한 내용은 작업 단위에 따라 git add, git commit 해주기!

마찬가지로 staging area에 올려주지 않으니까 작업한 내용은 여전히 working directory에 남아있어서 branch에서 작업한 내용이 main으로 그대로 넘어갔다.

 

그럼 문제점이 뭔지 알았으니까! 다시 시작해볼까!!!


 

1. main에 introduce.md 생성한 뒤 git add, git commit 해주기

2. main에 hobby, address branch 생성

3. hobby branch로 이동해서 introduce.md 파일에 hobby 작성 후 해당 branch에서 git add, git commit

4. address branch로 이동해서 introduce.md 파일에 address 작성 후 해당 branch에서 git add, git commit

5. main으로 돌아와서 introduce.md 파일 확인해보니 초기 상태 그대로였다!

 

좋아!!! 이대로 merge 진행!!

 

 

먼저 main branch에 hobby branch를 병합했다.

아무 내용도 없었던 md 파일에 hobby 내용이 추가된 md 파일이 덮어지는 것이기 때문에 아무 문제 없이 hobby branch의 커밋이 main으로 잘 당겨와졌다.

 

다음은 address branch 병합.

 

 

Conflict 메시지가 발생했다.

introduce.md 파일에 hobby에서 작업한 내용과 address에서 작업한 내용이 다르기 때문에 충돌이 발생한다.

협업할 때는 팀원과 함께 내용을 어떻게 수정할지를 논의하고 수정하면 되고, 혼자서 작업할 때도 어떻게 할것인지 정하고 수정한 뒤 git add, git commit 해주면 된다.

 

 

Conflict 상황에서 Vim 에디터로 introduce.md 파일을 열어주면..

 

 

이렇게 HEAD에 있는 내용과 address에 있는 내용을 둘다 띄워준다!

필요한 것만 선택하거나 둘 다 사용하거나 내가 원하는 대로 파일을 수정해주면 된다.

 

 

❗ <<<<<< HEAD, >>>>>> address, ===== 꼭 지워줄 것! 안 그러면 md 파일에 그대로 반영된다.

 

 

나는 둘 다 살릴 예정이기 때문에 이렇게 파일을 수정하고~

git add를 하고 git commit을 입력하면!

 

 

이렇게 git bash에서 알아서 commit 메시지를 입력해준다.

건드리지 말고 그대로 :wq로 저장하고 나가기!

 

 

그리고 명심해야 할 점!!

생명 주기가 끝난 branch는 꼭 삭제해주기!!

 

이렇게 local repository에서의 작업은 끝났다.

tree를 확인해보면

 

 

hobby, address에서의 커밋이 main으로 잘 병합된 것을 확인할 수 있다.

그렇다면 introduce.md 파일은 어떨까?

 

 

짠~ 이렇게 hobby와 address에서 작성한 내용이 잘 덮여진걸 확인할 수 있다!

branch 병합하기 완료!!

 


오늘의 느낀점 : 기초를 탄탄히 하자!!

 

기본적인 것도 제대로 안하면서 branch를 merge하겠다고 나댄 내 모습...^,^ 반성 또 반성

이렇게 허둥지둥대면서 아 진짜 기초 대충하고 넘기면 나중에 엄청 크게 혼나는 순간이 오겠다 싶었다.

실제로 개발자 면접 후기를 봐도 기술 면접에서 정말 기본적인 것을 물어본다고 하는데.. 지금 제대로 안하면 나중에 엄청 피눈물 흘릴 것 같다.

 

아는거라고 대충 보지 말고!!! 내가 그 개념을 완전하게 습득했는지!! 또 이해했는지 체크하면서 공부하기!!!

 

 

git 마지막 수업에서는 git으로 협업하는 연습을 한다는데.. 꿈에 그리던 협업이라니..! 너무 기대된다.

그리고 팀원들에게 피해가지 않도록 주어진 시간 활용해서 개인 공부 열심히 해야징!!

아자아자 화이팅이닷!

 

 


아 그리고,,,

 

헤헤.. 버티컬 마우스 샀습니다..

강사님이 버티컬 마우스 추천해주시길래 바로 질러벌임... 아직 취업도 안했으면서 장비에는 눈이 돌아간다.👀

구냥 자랑하고 싶었어요.. ^_^V

 

그럼 여러분 다음 포스팅까지, 모두 안녕~!!