깃의 컨셉 자체는 의외로 직관적이라 이해하기 쉬웠다. 흔히 리포트 작성 같은걸 할 때 최종. pdf 이 진짜정말최종3.pdf 되는 경험으로 미루어 보아 같은 선상에 있다고 생각해도 무관했다.
특히 개발의 경우 물론 혼자할 때도 유용하지만 여럿이 협업을 진행할 때도 매우 유용한데 변화에 따른 버전을 나눠놓고 관리한다면 코드가 전부 날아간다던가 하는 불상사도 막을 수 있고 클라이언트의 버전을 낮춰야 할 때라던가, 누가 어느 코드를 변경했는지 등 많은 일들을 쉽게 해낼 수 있다.
간단하게 말하면 파일에 변화를 스냅샷 형식으로 남겨놓아 언제든지 버전을 왔다 갔다 할 수 있게 해 주는데, git 이 바로 이런 일을 해주는 Version Control System(버전 관리 시스템) 중 가장 많이 쓰인다.
그리고 그 유명한 Github는 이런 git 저장소(Git Repository) / git으로 관리하는 프로젝트들을 보관할 수 있게 해주는 클라우드 플랫폼이다.
버전 관리의 필요성으로 큰 3가지 이유는 아래와 같다.
1. 파일의 변경 이력을 저장 가능하다.
2. 이전 버전으로 돌아갈 수 있다.
3. 어떤 변경 사항이 있었는지 바로 알 수 있다.
4. Github 등의 repository 원격 저장소를 이용하여 백업용으로 쓸 수 있다.
5. 상기한 이유로 협업에 많은 도움이 된다.
따라서 앞으로 git은 내가 원하든 원치않든 무조건 습득하게 될 지식이라고 생각한다. 오늘 수업 진행하면서 배운 것들을 정리했으니 나중에 또 공부할 때 복습하고 추가 정보도 넣고 해야겠다.
git을 사용할때 쓰이는 용어 모음집
Branch | 독립적으로 어떤 작업을 수행하기 위한 개념으로, 기둥에서 뻗어나온 나뭇가지를 상상하면 좋다. 각각의 브랜치는 다른 브랜치의 영향을 받지 않으므로 여러 작업이 동시에 가능하다. |
Repository (Repo) | 프로젝트 파일이 저장되어있는 저장소 (Remote / Local등) |
Fork | 포크처럼 다른사람의 원격 Repository를 내 원격 Repository로 복사한다. |
Pull request (PR) | 내가 변경한 코드에 대한 반영 여부 요청 |
merge | 변경된 부분들을 합친다 |
staging area | index 라고도 하며, 작업 트리에 있는 내용이 commit 되기 전에 반드시 add를 통해 staging area 내에 존재해야한다. 즉 commit 준비 완료 단계라 보면 쉬울듯. |
untracked files | 깃의 관리를 받지 않는 상태 (방금 추가했다던가 쓸모없다던가..) |
tracked filed | 1. Unmodified (수정 x) 2. Modified (수정됨) 3. Staged (staging area에 존재 - ready to do commit) |
up/downstream repository | 상대적인 기준으로 local repo와 remote repo의 origin 을 비교했을때 origin - upstream / local -downstream |
아래의 링크가 매우 유용하고 내용도 매우 알차다. 나중에 공부할 때 꼭 참고하기
누구나 쉽게 이해할 수 있는 Git 입문~버전 관리를 완벽하게 이용해보자~ | Backlog
누구나 쉽게 알 수 있는 Git에 입문하신 것을 환영합니다. Git을 사용해 버전 관리를 할 수 있도록 함께 공부해봅시다!
backlog.com
'programming > GENERAL' 카테고리의 다른 글
[EC2] Nginx를 이용한 React 배포 (0) | 2022.09.03 |
---|---|
docker 개념 (0) | 2022.08.04 |
Git command 정리 (0) | 2022.05.03 |
Git workflow process (0) | 2022.05.03 |
2진수 계산 (0) | 2022.04.26 |