Wecode - Project 2 (부트캠프)/Project 2 과정

Project 2 - 5일 차: 깃허브 [local 최신화, git pull origin 하며] 깃허브에 대해 복습, 새롭게 알게 된 사실

Queen Julia 2023. 9. 22. 16:17

github 에서 remote 저장소에서 변경사항을 받으려고 

local을 최신화하려고 하면,

 

git pull origin [pull 받으려는 branch 이름]

 

그런데, 그 pull받으려는 branch로 checkout 가서 받아야 함. 


branch 간 이동을 위해서는

무조건 변경 사항 저장 , git add. , git commit -m 후에 가능 

 

git add.

git commit

git pull (Dev. )  (fetch and merge = pull ; 그래서 merge가 자동으로 될 것.)

git merge (dev는 dev 대로 최신화) -=> feature에 dev를 Merge시킴 

 

branch를 dev에 merge하는게 아니니까. 

branch에 dev를 merge 하는 거니까.

 

 

그런데, 잘못하고 ㅓ 를 쳤다가, 다시 지우고 

결과적 변동사항은 없을 경우에도, 쓸데없이 commit을 해야할 때가 있다. 

 

이렇게,

 

branch 간 이동을 위한, 불필요한 commit을 피하고 싶다면, 

2가지 방법이 있음. 

(히힛 깃허브하면서 생기는 궁금점들, 프론트엔드 승윤, 래영 멘토님들께 여쭤보면,

이것저것 알짜지식 심화지식 많이 습득하게 됨) 

 

1. 나중에 불필요한 commit 내역을 모두 하나로 합치는 rebase를 배워서 가능 

2. commit 이 아니라, 임시저장을 하는 것 : git stash --> 근데, 임시저장한 게 날라갈 수 있으니 잘 안 쓰는 게 좋음!  commit 매번 하는 거 추천.

(git stash -- command 가 따로 있음.) 

그런데, 임시저장이니, 애초에 별 필요하지 않은 것을 commit 하는 것이라 날라가도 상관 없긴 해서, 멘토님께서는 git stash 쓰심

 

 


git pull origin [branch 이름]

remote (깃허브)에서 브랜치에 변경사항이 생겼을 경우, 내 로컬 컴퓨터에 pull 해야 가능한데, 

 

예를 들어,

팀원 모두가 받아야 하는 파일인데, 한명의 로컬에서 수정을 하면, 

 

그것을 dev branch에 merge(병합)을 한 후,

 

나머지 팀원들이

dev branch를 pull 받아서,

나의 로컬도 dev branch의 내용과 같도록 최신화 시킨다. 

 

그러려면, 두 가지 방법이 있다. 

 

1. 각각의 branch 들과, dev에 가서 -->  git pull origin dev를 한다 

1-1. git checkout dev, git pull origin dev

1-2. git checkout feature/signup, git pull origin dev

1-3. git checkout feature/login, git pull origin dev

 

2. 어짜피 dev도 pull 받아야하니까, 

2-1. git checkout dev, git pull origin dev (dev로 가서 Pull 받은 뒤)

2-2. git checkout feature/signup, git merge dev

2-3. git checkout feature/login, git merge dev

 

 

위를 정리한 내용 

 

그러면, git merge dev 랑 git pull origin dev나 

코드를 덜 칠 수 있게 하는 게 아니라, 같은 거네.

확실히 하기 위해서, chatgpt 


pull 받는다는 게, fetch and merge라서

 

pull 받으려는 branch를 

내 로컬에 merge 병합 시킨다는 거라서, 

merge하지 않아도 되는 이유. 

 

** 내 branch에 dev를 merge 하는 것과 

내 branch를 dev에 merge하는 것의 차이점을 잘 이해해야 한다! 


git push, 

git pull 만하기도 하는데, 비추 

굳이, 

정석대로 해도 된다.


자꾸 실수하는 거

 

폴더명 위치 헷갈려서 

 

 

 

49- project2- Team3 폴더 안에, 

'49- 2nd - ABC - Martens -backend' 하위폴더가 있는데, 

 

git 이 관리하는 건 '49- 2nd - ABC - Martens -backend' 하위폴더인데,

'49- project2- Team3' 상위폴더에서 

자꾸 git 명령어를 치니, 

 

"not a git repository (or any of the parent directories) : .git "

에러 메세지가 나오는 거였다. 

 


추가 꿀팁!  [자동완성 기능]

vscode extensions에서 자동완성기능을 설치해라,

그러면 git pull까지만 쳐도, 이미 한번 쳤던 거면, 끝까지 치지 않고 ' 오른쪽 화살표'로만 자동완성돼서 편하다

 

팀원이 힘들게 끝까지 다 타이핑 하고 있어서,

추천해주면서 적는 꿀팁!