[Git] 개념 정리

­Valentine·2022년 1월 6일
0

CS

목록 보기
13/23

CS 공부 10일차. 오늘은 VCS와 Git에 대하여 알아보았습니다.

  • git : 분산버전관리시스템으로 코드 뿐만 아니라 다른 형태의 파일들도 모두 저장할 수 있으며 diff가 아닌 snapshot 형태로 history를 저장합니다. Github라는 서비스를 이용하여 다른 사람들과 협업을 할 수 있습니다.

  • 버전 관리 : VCS(Version Control System)라고 부르며 git의 경우 비선형 형태로 다양한 branch가 동시에 생기는 것을 허용하며 snapshot의 형태로 git repository에 저장합니다.

  • repository : 저장소로서 로컬 저장소와 원격 저장소가 존재합니다.

  • Commit : git add 명령어로 현재 상태를 staging 한 후에 commit을 통해 체크포인트를 만들고 push를 통해 원격저장소에 올립니다.

  • Branch : 작업을 독립적으로 진행하기 위한 기술입니다.

  • PR : master branch나 dev branch에 합치기 위해 요청을 보내는 것입니다. 권한이 있는 관리자가 리뷰후에 merge합니다.

  • Conflict : git이 merge할때 둘중에 어떤 것을 반영해야할지 모르면 conflict를 발생시켜 개발자가 직접 수정하도록 합니다.

  • git flow : master 브렌치와 dev 브렌치가 존재하고 feature 브렌치를 각각 기능마다 생성하고 지워서 dev에 합치는 방식으로 개발합니다. dev branch에서 test를 위한 release branch를 만들고 test가 끝나면 master에 반영합니다. master에서 급하게 고칠 사항은 hotfix branch로 반영합니다.

  • rebase vs merge : rebase는 commit들을 일렬로 나열되게 base를 재설정 하는 것이고 merge는 새로운 자식을 만들어 branch들을 통합하는 것입니다.

  • squash vs reward : squash는 커밋들을 합쳐서 하나로 보내는 것이고 reward는 커밋은 남겨두고 메시지만 수정하는 것입니다.

  • github pro : student development pack이 제공되고 private repository에서 wiki나 contributor 무제한 추가 등이 가능한 장점이 있습니다.

profile
천체관측이 취미

0개의 댓글