짜투리

[Git] 깃허브 zero부터 협업까지 손쉽게 가보쟈규~

소곡이 2023. 2. 7. 22:59
728x90

 

 

 

 

 

 

 저 왔사옵니다 흐흐


 이번 겨울방학에 스터디를 진행하면서 스터디 원들과 코드를 같이 보관하기 위해 깃허브 협업에 대해 알아보았다. 

 

https://sogogi1000inbun.tistory.com/86

 

[Git] 컴퓨터를 바꿨을 때 vscode에서 깃허브 다시 연동하기

드디어 바람의 협곡에 있던 연구실 오빠의 동방에서 탈출하여 본관 연구실로 이동했다. 이제 깃허브 연동해야지.. 했는데 뭥미.. 어떻게 하는 지 다 까먹었을 뿐더러 저번에 얼랑뚱땅 연동을 해

sogogi1000inbun.tistory.com

 

이건 기존에 썼던 글이다. 여기서는 vscode에 내장된 기능을 썼는데 그것보다는 터미널에 명령어 치는 게 더 편하다. 그래서 commit 전까지 똑같이 하고 오면 되겠다. 

 

🔆위 게시글 간단 요약

1. 깃허브 가입- 깃허브에서 리포지토리 만들고, 주소 복사

2. 깃, vscode 설치

3. 깃 설정

$ git config --global user.name "깃허브 이름"
$ git config --global user.email "깃허브 이메일"
$ git config --list # 입력한 이름과 이메일이 잘 들어갔는 지 확인

4. vscode에서 ctrl+shipt+p 누르고, Git: clone검색하고 리포지토리 주소 복붙

git: clone하고 리포지토리 복붙하기
브라우저에서 로그인하는 게 편함

 

🔆당연히 아시겠지만 혹시 모르실 분을 위해 

1. 깃허브 리포지토리=저장소 주소 복사: 깃허브>본인 리포지토리>code>https

2. vscode에서 터미널 열기: vscode>상단바에서 터미널>새터미널

여기서 명령어 입력하면 됨


🔆협업을 해보자 

 1.깃허브 리포지토리 주인이 아닌 협업할 사람은. 해당 리포지토리를 Fork한다. 

  • 다른 사람의 github 저장소를 fork한 경우, 내 github 저장소는 origin 저장소
  • 내가 fork한 저장소는 upstream 저장소

 

2. origin 저장소와 upstream 저장소를 분리하기 위한 명령어를 vscode 터미널에 치기

$ git remote add upstream {아까 복사한 저장한 저장소 주소}
$ git remote -v  # 잘 들어갔는 지 확인

자기 주소가 맞게 들어갔는 지 확인하기

 

3. 브런치 생성하기

 브런치는 나뭇가지라고도 한다. 왜 필요할까? 예를 들어 3명의 사람이 협업을 하면, 3개의 로컬 저장소가 생길 것이다. 이 3개의 로컬 저장소에서 동시에 데이터를 push해버리면 깃허브 저장소가 제대로 작동하지 않을 수 있다. 그걸 방지하기 위해 브런치를 생성하여 각자 저장한 뒤 나중에 merge를 통해 무결성을 체크하고 하나의 저장소에 통합하는 것이다.  

저장소=곡식 창고, 깃허브 저장소 입구는 하난데 로컬 3개에서 한 번에 들어가면 곡식창고 박살난다...

 브런치 생성은 터미널에서 아래 명령어를 치면 됨

$ git checkout -b "브런치 이름"  # 브런치 생성
$ git branch -a  # 브런치가 잘 생성되었는지 확인 1
$ git status     # 브런치가 잘 생성되었는지 확인 2

 만약에 브런치 이름을 잘못 생성했다면 아래 명령어를 통해 삭제할 수 있음

$ git branch -d "브런치 이름"  # 브런치 삭제

 


🔆잠깐만!

  깃허브 저장소에 업로드할 "폴더 이름"은 로컬에서도 똑같이 해줘야 한다!

 

 예를 들어 나의 경우, 주마다 코딩 스터디에서 푼 문제를 친구들과 함께 깃허브에 올린다. 

로컬에서는 요케!

노란색 폴더가 가장 큰 카테고리이고, 그 아래 푼 사람의 닉네임의 폴더를 만들고, 그 아래 푼 코드와 푼 방법 파일을 올리는 것이다. 이런식으로 카테고리의 이름을 맞춰줘야 하나의 저장소로 합쳤을 때 의도한 폴더에 작업물이 올라가게 된다. 

원본 깃허브 저장소에서는 요케!

 


4. 필요 명령어

여기까지 왔다면, 수정사항이 생길 때마다 여기부터 반복하면 된다. 아래 명령어를 치기 전에는 ctrl+s하는 건 필수다. 

$ git add .                            # 모든 수정사항 저장
$ git commit -am "수정내용"             # 어떤 수정을 했는지 작성
$ git push                             # 깃허브에 업로드

 

(+) 처음 push할 때 upstream 어쩌구 뜰텐데 그냥 거기 있는 명령어 그대로 치면 됨

  • 현재 저장소가 원본 저장소가 아니라 그런거임
  • 처음에 한번만 치면 됨

  • push를 한 뒤 깃허브에 들어가보면 업로드 되있음

 

5. pull request & merge

  • 협업하는 사람들 각자의 브런치에서 모은 데이터들을  원본 저장소에 넣는 과정
  • 깃허브>pull requests> compare&pull request 클릭

  • pr할 내용을 작성하고 create pull request 클릭

  • merge pull request 클릭하고, confirm merge 클릭하기

  • merge 완료

 


🔆 내가 자주쓰는 깃 명령어 모음

$ git add .                
$ git commit -am "커밋메시지"
$ git push 

$ git checkout -b 브런치이름  # 브런치 만들기
$ git branch -a  # 모든 브런치 조회
$ git branch -d 브런치 이름  # 브런치 삭제

$ git status  # 깃 상태 확인