관리 메뉴

아보카도 Blog

TIL 2일차 깃과 깃허브 Git Bash와 GitHub Desktop 본문

개발일지

TIL 2일차 깃과 깃허브 Git Bash와 GitHub Desktop

수수 아보카도 2022. 11. 15. 22:17

오늘은 거의 대부분의 시간을 git으로 원격 저장소와 로컬 저장소의 싱크를 맞추는 연습을 했다.

이 싱크(상호작용)은 대부분 push와 pull로 이루어지는데,

마침내 깨달은 사실은,

commit >pull>(merge)>push

이 순서로 진행되어야 꼬이지 않는다는 것이다.

처음에는 git bash에 명령어 입력하다가 이해가 쉽지 않아서

gui 중 하나인 GitHub Desktop을 배워서 마우스 써가면서 했다.

 

1. Git Bash

<Push>

1. git add .

2. git commit -m "..." ...안에 주요 커밋 사항을 적으면 된다.

3. git push origin ... ...은 GitHub에 밀어올려주고 싶은 브랜치를 적으면 된다.

 

<Pull>

1. 먼저 전의 내용에서의 commit까지 완료해준다.

2. pull 했을 때 충돌되는 상황이 있으면 선택하면서 merge 해준다.

그럼 원격 저장소에 있는 데이터를 로컬 저장소로 병합하면서 끌어와진다.

 

2. GitHub Desktop

깃허브에서는 커밋과 푸쉬가 아주 쉽다.

로컬 저장소에서의 데이터가 변화가 있을 때마다 깃허브 데스크탑에서 자동으로 올려준다.

물론 코멘트를 작성한 후 commit 버튼 눌러주는 과정은 필요하다.

 

그런데, 브랜치가 여러 개인 경우 이를 merge 해줘야 하는데,

main 브랜치와 original main 브랜치 사이에 혼란이 있었다.

main은 내 로컬 저장소에 있는 것이고,

original main은 우리가 처음에 git bash로 명명해준 것에 기인해 보았을 때

원격 저장소에 있는 것이다. 따라서 병합 대상은 original main 브랜치가 되어야 한다.

그 다음에 pull 해주면 GitHub에서도 내 수정사항이 실시간으로 올라온다.

 

오늘 질문을 통해서, 간단한 작업을 할 때는 굳이 branch를 나누지 않고

main에서 pull하고 push하면서 작업하는 것이 효율적이라는 것을 알았다.

튜터님 말씀이, 브랜치는 대부분 버전을 업그레이드할 때 많이 쓴다고.

나는 평생 쓸 일이 없을 것 같은 이 느낌...ㅎㅎ 뭐 많이 배웠으면 됐지.

 

내일은 sql 여덟 강 듣고,

혼공스 자바 5강 함수를 꼭 봐야겠다.