코딩/정말 나는 잘 알고 있을까?

GIt - Github, Gitlab (1)

호상박 2022. 5. 15. 19:23
운이 좋게 처음 프로젝트 때 부터 git을 사용했는데, 매번 할 때 마다 구글링을 해야하니 이건 아직 내 것이 되지 못했구나 하는 생각이 들었다. 하나씩 정리해보자.

 

Git 은 소스 코드를 효과적으로 전달하기 위해 개발된 분산형 버전 관리 시스템 이다. 원래는 Linux 소스 코드를 관리할 목적으로 개발되었다고 한다. 내가 올리려는 파일이 누군가 편집한 파일의 내용과 충돌하는 것을 방지하고자 사용한다. Git에서는 소스 코드가 변경된 이력을 확인할 수 있고, 특정 시점으로 비교할 수 있으며 그 시점으로 돌아갈 수도 있다.

평소에는 로컬 저장소(Repository)에서 작업을 하다가 작업한 내용을 공개, 공유가 필요할 때에는 원격 저장소에 업로드할 수 있다.​

다른 사람과 충돌하지 않도록 경고 메시지가 생긴다.

커밋을 통해 파일 및 폴더의 추가/변경 사항을 저장소에 저장할 수 있다. 커밋은 이력을 남기는 중요한 작업이기 때문에 커밋 버튼을 누를땐, 커밋 메시지를 필수로 입력해야 한다.

본인이 했던 작업에 대한 간략한 소개를 메시지와 함께 커밋한다.

누군가의 변경 이력이 저장된 원격 저장소를 통채로 로컬 저장소로 받아올 때는 클론(Clone)을 통해서 가져와 작업할 수 있다.

커밋한 작업물을 원격 저장소에 저장하기 위해 푸시(Push)를 진행한다. 이때 원격 저장소는 로컬 저장소와 동일한 상태로 된다.

반대로 여러 사람들과 작업 이후, 새로운 변경 내용을 로컬 저장소에 적용하기 위해서 풀(Pull)을 실행한다.

내가 가져온 저장소가 최신 버전이 아닐 경우에는 내 push 요청이 거부 될 수 있다. 이런 경우 병합(Merge)를 이용해서 다른 사람의 업데이트 이력을 내 저장소에도 갱신해야한다. 병합하지 않은 상태로 덮어쓰게 되면, 다른 사람이 push 한 업데이트 내역이 사라질 수 있기에 주의해야한다.

병합 과정 중 충돌이 일어난 경우 직접 수정해야한다.

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

'코딩 > 정말 나는 잘 알고 있을까?' 카테고리의 다른 글

Git pull 에러  (0) 2022.05.31
Webpack, Babel 이 뭐야? (feat. Framework, Library)  (0) 2022.05.25
Git - Mac에서 Git 사용하기  (0) 2022.05.21
GIt - Github, Gitlab (3)  (0) 2022.05.17
GIt - Github, Gitlab (2)  (0) 2022.05.17