본문 바로가기
DEV/Git

파이썬 코딩 :: 깃/깃 허브 활용_TIL#09

by 올커 2022. 9. 10.

■ JITHub 개발일지(TIL : Today I Learned) 9일차


깃,깃 허브

 

□  TIL ::

     - 핵심내용 : 협업을 위한 깃 활용 기초

1. 협업을 위한 깃 활용 기초

  - 프로젝트의 버전 관리와 효율적인 협업을 위해 사용하는 깃(Git)의 기초 개념들을 숙지한다.

 

  - 깃(Git)의 장점

    1) 프로젝트의 버전 관리가 가능하다.

    2) 예전에 작업했던 히스토리 확인이 가능하다.

    3) 작업 단위를 나누어 에러가 발생했을 때 원인 추적, 복원이 가능하다.

    4) 협업해서 하나의 프로젝트를 만드는데 유용하다.

       (여러 세부 프로젝트를 나누어 작업하고 나중에 최종 프로젝트를 합치는 방법으로 충돌을 피한다.)

    5) 파일의 변경사항을 확인하여 어떤 부분이 다른지 비교하고, 어떤 것을 반영할지 선택할 수 있다.

 

  - 깃 허브(Git hub)

    1) 깃 허브는 깃과는 개념이 다르다. 깃 허브는 원격  repo(*repository)로, 깃으로 할 수 있는 커뮤니티 서비스를 제공한다

    2) 깃 허브에서는 오픈소스를 활용해 원격으로 '프로젝트 기여하기(contribution)'도 가능하다. 버그를 알리거나 프로젝트 개선을 토의할 수도 있다.

 

 - 소스트리(Sourcetree)

   1) 깃을 쉽게 사용할 수 있는 도구이다. 초보자도 사용하기 편리하다.

 

 - 깃(Git) 기본 개념

   1) 저장소(*repo) : 로컬 저장소와 원격(리모트) 저장소를 지칭한다. 로컬repo, 원격repo라고도 부른다.

       보통 로컬repo에서 할당된 프로젝트를 작업하고, 작업이 완료될 때 작업단위마다 원격repo에 작업을 push하면서 작업을 관리한다.

   2) commit : 현재 프로젝트의 상태를 저장하는 것을 말한다. 커밋을 하면 현재 프로젝트의 파일 내용, 커밋 일시, 작업자 등의 정보가 남으며, 기존 상태와 현재 상태의 차이를 자동으로 알려준다. 커밋을 한 이력들은 저장이 되어 commit history 또는 commit log(로그)로 저장되어 확인할 수 있다. (로컬repo는 소스트리를 통해, 원격repo는 깃허브에서 이력들을 확인할 수 있다.) 커밋을 할 때는 제목과 내용을 팀원이 쉽게 이해할 수 있도록 적어주는 것이 '굉장히' 중요하다.

   3) stage : 작업한 내용을 커밋하기 전에 stage에 올려두는 개념이다. 이를 add stage라고 한다.

   4) tracking : 로컬 repo와 원격repo를 연결하는 것을 말한다.

   5) branch : 나뭇가지라는 뜻 처럼 프로젝트 main줄기에서 기능에 맞게 나누어 작업할 수 있도록 별도로 작업을 위해 빠져나온 프로젝틀를 말한다.

   6) push : 로컬 repo의 commit들을 원격 repo commit들에 합치는 것을 지칭한다.

   7) pull : 원격 repo의 commit들을 로컬 repo commit들에 합치는 것을 지칭한다.

   8) clone : 원격 repo에 있는 프로젝트를 내 PC에 그대로 복사해오는 것을 말한다.

                   clone기능은 깃허브에서 HTTPS나 SSH로 제공하고 있다.

   9) merge : 각자 branch를 통해 기능별로 작업한 내용을 다시 본(main) 프로젝트에 통합하는 것을 말한다.

   10) merge conflict : main branch에 통합할 때 각자 동일한 부분을 작업한 내용이 다를 경우 충돌이 발생한다.

<<<<<<< HEAD
{현재 브랜치의 다른 파일 내용}
=======
{충돌나는 브랜치명 또는 commit에서의 다른 파일 내용}
>>>>>>> 충돌나는 브랜치명 또는 commmit 아이디

 

 - 프로젝트 진행 단계

  1) Issue - 누가 작업할지 할당한다.

  2) Branch - 각자 할당된 작업을 진행한다.

  3) Merge - 각자 작업한 내용을 프로젝트에 통합한다.

  4) PR 후 Merge - 작업한 내용을 리뷰하고 최종 프로젝트에 반영한다.

 

 


■ TIT :: Today I thought

 - 협업을 위한 깃, 깃허브 기본 개념을 익혔다.

 - 소스트리(Source)라는 툴을 활용해보니 깃을 활용한 로컬repo와 원격repo간의 커뮤니케이션 관계를 이해하는데 도움이 많이 된 것 같다.

 - 깃은 깃 배쉬를 통해 툴이 아니라 커맨드를 통해 관리도 가능하다. 이 방법은 지금은 어렵지만, 나중에는 더 편해질 수 있는 방법일 것 같다. 많이 해보고 익혀서 익숙해지는 것이 중요할 것 같다.

 

반응형

댓글