git

한상우·2022년 5월 22일
0

22년 5월 부터 한 프로젝트에 들어간다. 프로젝트에서는 github를 통해 서로 협업을 진행할 것이기에 github에 관련된 공부가 필요하다고 느꼈다.

git

Github에 있는 Repository를 네트워크 상의 서버에 있는 저장소이므로 remote repository라고 부른다. 그리고 로컬에 있는 Repository가 local repository인 것이다.
local repository를 만드는 방법은

  1. git init
  2. git clone

origin은 깃허브에 존재하는 repo를 의미한다. 즉, remote repo라는 뜻이다.
upstream과 downstream은 상대적인 개념으로 origin과 local을 생각해보면 origin이 push를 받으므로 upstream, local이 pull을 하므로 downstream이다. git push -u origin main이라는 명령어에서 -u 옵션이 --set-upstream의 별명이다. 즉 origin을 upstream으로 설정하겠다는 것이다!!

17년도 우아한 형제들에서의 Git Repository구성을 보면

  1. Upstream Remote Repository
  2. Origin Remote Repository
  3. Local Remote Repository

Upstream이 최신 코드가 담겨 있는 원격 저장소로 개발자들이 공유하는 저장소이다. 이 저장소를 Origin으로 Fork하고 Local에서 작업하기 위해 clone한 것이 Local Repo이다.
Fork를 한 이유는 이 곳에서 개발자가 마음대로 뛰어 놀게 하기 위해서이다. (공유 저장소에서 뛰어놀면 위험해..)

git flow

이번에 새로 알게 된 개념이다. 여러 개발자들과 협업을 하게 되면, git을 관리해줘야 하는데
git flow에는 다양한 전략이 있다.

  1. Feature Branch Workflow
  2. Forking Workflow
  3. Gitflow Workflow

각각에 대한 자세한 설명은 하단의 url을 읽어보면 된다. :)
설명이 너무 잘 되어 있다. 이번 프로젝트를 진행하면서 우리 팀에 필요한 git flow전략이 무엇일지 고민해 본 결과, 내 생각은 팀 인원이 디자인1, 프론트엔드2, 백엔드2 로 구성되어 있는 소규모 팀이기도 하고 github에 repo도 프론트와 백이 따로 파서 작업하니까 많은 소통이 이루어지지만 간단한 Feature Branch Workflow 전략이 적당하다고 생각했다.
팀원분들도 내 생각에 동의해줘서ㅠㅠ 프로젝트는 이 전략으로 진행될거 같다!!

git flow url

https://techblog.woowahan.com/2553/
https://uxgjs.tistory.com/183
https://gmlwjd9405.github.io/2017/10/27/how-to-collaborate-on-GitHub-1.html
https://gmlwjd9405.github.io/2017/10/28/how-to-collaborate-on-GitHub-2.html
https://gmlwjd9405.github.io/2017/10/28/how-to-collaborate-on-GitHub-3.html

git 커밋 컨벤션

팀 협업을 위해 커밋 메시지의 규칙을 정해두는 것이다. 이게 왜 중요하냐면, 하나의 저장소에 여러 인원이 커밋 메시지를 남길 건데, 메시지 규칙이 통일되어 있다면, 히스토리를 보는 것만으로도 변경 사항을 이해할 수 있다. 그리고 깔끔하다...!!!
우리 팀이 작성한 커밋 컨벤션이다. 정해진 컨벤션을 잘 지키면서 프로젝트 진행중이다

profile
안녕하세요 ^^

0개의 댓글