개발관련/Git

Git 관련 정보 모아보기 - commit

나모장 2022. 3. 5. 19:55

보통 나는 개발 공부나 프로젝트를 혼자 진행한 편이고, 개발 협업은 작년에 처음 경험해보았다.

git에 대해 팀 내부에서 아는 사람이 없었기 때문에 혹시나 파일이 꼬이거나 삭제되는 불상사를 막고자 구글 드라이브나 카카오톡으로 파일을 보냈다 .. (이마짚) 도구를 모르면 몸이 고생한다고 딱 나에게 해당되는 말이었다. 규모가 작았기 때문에 가능했지만 앞으로 규모가 큰 프로젝트를 할 수도 있고, 협업 프로젝트가 많아질테니 스스로 정리해보았다.

 

1. Git

git 은 버전관리 도구 이다.

최종, 최최종, 진짜최종, 수정그만해라이게최종 이런 제목을 짓어 구분하는 경험을 했을 것이다. 이 경우 나중에는 진짜 최종본이 무엇인지 알 수 없고 전체적인 개발 흐름을 알기 어렵다. 개발을 하다보면 오류가 뜨면 그 이전으로 되돌아가 잘못된 부분이 어디인지 찾기도 하고, 협업 같은 경우 서로 다른 기능을 개발하고 추후에 합치는 작업을 진행하기도 한다. 하지만 협업할 때 공유한 파일을 동시에 편집한다면 다른 사람의 변경사항을 지워버릴 수도 있다. 이런 것을 방지하기 위해 버전 관리 시스템이 만들어졌고, 그 중 git이 대중적으로 사용되고 있다.

 

(1) git repositiory 저장소

원격 저장소 (Remote Repository) : 여러 사람이 함께 공유하기 위한 저장소

로컬 저장소 (Local Repository) : 내 컴퓨터에 저장되는 개인 전용 저장소

https://www.cs.swarthmore.edu/git/

내 컴퓨터에 로컬 저장소 만들기

1) 저장소 새로 만들기

2) 이미 있는 원격 저장소를 로컬 저장소로 복사하기

 

(2) commit

commit (커밋)

변경 사항을 저장소에 기록할 때는 커밋을 하게 되는데, 커밋에는 영문과 숫자로 이뤄진 40자리의 commit id 가 생성된다.

커밋은 커밋 메시지를 필수로 입력해야 할 수 있다.

- Git 에서 권장하는 메시지 형식

커밋 내 변경 내용 요약
빈칸
변경 이유

메시지 형식은 꼭 이 형태를 따르지 않아도 된다. 다양한 commit message를 보고 싶다면 Commit Message Rules 로 검색하면 다양한 결과가 나온다. 개인적으로 커밋 메시지는 영어로 작성하는 것이 좋은 듯 !

git에서 commit을 하면 바로 저장소로 전송되는 것이 아니라, staging area로 가게 된다.

stage : 작업 트리(내 컴퓨터 내의 폴더)와 저장소 사이의 가상 공간인 index 에 파일 상태를 기록

저장소에 변경사항을 기록하기 위해서는 변경 사항이 index에 존재해야한다. index에서 커밋이 필요 없는 파일을 커밋에 포함하지 않을 수 있으며, 원하는 변경 사항만 골라서 커밋 할 수 있다.

 

Reference

https://backlog.com/git-tutorial/kr/

https://youtu.be/M_0vwGlz5EM