23.01.14 TIL (Day12)

신경연·2023년 1월 14일
0

TIL

목록 보기
8/9

오늘은 git 공부를 중점적으로 진행했다.

그래서 오늘 공부해본 내용을 내가 이해한 바로 풀어보려고 한다.

git

1] 기본

1) 사용 이유

하나의 프로그램을 짤 때 많은 시간과 과정이 들어가게 된다. 거기에 많은 사람들이 함께 진행하면 수많은 문제상황이 발생이 되는데, 이를 중간중간 커밋과 함께 내용정리를 해놓으면서 중간거점을 생성하며 작업하는 프로세스 방식이라고 이해했다.

2) 용어

  • git 초기화 (initialize, init) : 로컬에서 진행하던 프로젝트를 git과 연결하는 것.
  • add / staging : commit 할지말지 정할 때 commit을 하고자 하는 파일을 정하는 것을 add라고 하고, 그 올라가는 파일들을 stage에 올라갔다고 한다.
  • commit (커밋) : 작업 내용의 중간 저장 느낌.
  • commit 내역(history) : commit의 시간순의 리스트. commit의 요약이 잘 되어있으면 하나하나의 거점으로서의 기능을 할 수 있다.
  • push : 로컬 repo의 commit을 원격 repo에.
  • pull : 원격 repo의 commit을 로컬 repo에.
  • clone : 원격 repo를 컴퓨터로 복사.
  • tracking : 로컬과 원격을 연결하는 것을 tracking 이라고 한다.

pull - commit - push!

2] 협업

협업은 다같이 하는 것이기에 구상과 schedule 작업에서 시작한다.

1) issue

개선 사항, 문제 사항 등의 작업 내용을 의미한다.

issue는 github에서 제공하는 다양한 기능들을 이용하여, 정리할 수 있다.

  • Project-board : 프로젝트의 전체적인 진행 상황을 시각적으로 볼 수 있다.
  • 마일스톤 : 프로젝트 안의 각 issue 작업에 시간을 부여하여, 스케쥴 작업에 쓸 수 있다.

2) 작업

각각의 issue 들을 여러 작업자가 각자 맡아 작업하는 곳이다.

  • branch : 각각의 issue 들을 여러 작업자가 각자 맡아 작업하는 곳이다.
  • merge : 각자의 branch에서 작업한 내용을 합친다.
  • merge conflict : 여러명의 작업으로 인해 충돌 상황에 직접 확인하여 필요한 것들은 합치고, 필요 없거나 겹치는 것 제거하는 작업이다.

3) 흐름

1) 한 명이 기본적인 구조를 짜서 git에 올린다.
2) 각 팀원들은 clone 한다.
3) 구상을 통해 여러 issue 들을 생성하고 schedule을 짠다.
4) 각 issue를 팀원들이 할당받고, branch를 생성해 작업한다.
5) 작업을 완료하면 merge 하고자 하는 main branch의 최신 버전을 pull, commit, push!
6) main으로 checkout 한 후, merge 한다.
7) 작업을 완료한 branch는 삭제한 후, 다른 issue를 할당 받는다.
8) main branch가 여러 branch들을 merge한 후, 적절한 시기에 origin(원격 repo)에 push 하고, merge 한다.

오늘 git을 많이 공부해 봤지만, 완전히 이해했다는 느낌은 절대 들 수 없었다. 하지만 많이 배웠다고 생각하고, 앞으로의 실전을 통해 시행착오도 거치면서 이해해 나가보자!

profile
반갑습니다

0개의 댓글