카테고리 없음

[GitHub] 깃허브 튜토리얼: commit/pull/push/branch/merch란?

강자이 2024. 4. 17. 14:27

 

깃허브를 처음 사용하게 된다면 꼭 알아야 할 깃허브 용어들에 대해 알아보자.

 

깃허브 공유하기/공유받기 방법이 궁금하다면 아래의 게시글 참고.

https://isyunstrong.tistory.com/2

 

 

1. 깃허브, 왜 필요할까?

먼저, 아래의 팀프로젝트 방식을 살펴보도록 하자.

A,B,C,D가 팀프로젝트를 진행하고 있다. 하나의 저장소에 작업물을 공유하여 팀프로젝트를 진행하고 있다고 가정해 보자.

 

그렇다면 어떤 문제가 발생할까?

하나의 저장소를 바탕으로 여러 명이 동시에 작업을 하고 있기 때문에 

같은 스크립트 내에서 A가 5번째 줄의 스크립트를 삭제하고, B가 또 같은 5번째 줄의 스크립트를 추가하면

누구의 것을 채택할 것인가에 대한 문제가 발생한다.

 

그래서 이를 해결하기 위해 나온 것이 바로 깃허브 구조이다.

 

 

 

2. 깃허브 구조 알아보기

 

깃허브는 위의 사진과 같은 구조를 가지고 있다.

가장 상위에 있는 것이 원본파일,

그 아래에 두 갈래로 나누어져 있는 것이 원본 파일을 복제한 부모 저장소,

또 그 아래에 각각의 두 갈래로 나누어져 있는 것이 부모 저장소를 또 복제한 자식 저장소이다.

 

깃허브는 이 가장 아래층에 있는 자식 저장소를 각각의 작업자 A,B,C,D가 수정하게 함으로써 위에서 언급되었던 문제를 해결한다.

깃허브가 어떤 방식으로 저장소를 운영하는 지는 아래의 그림에 자세한 설명을 작성해두었다.

 

 

 

 

 

이러한 깃허브를 사용하는 방법에는 크게 두 가지가 있다.

첫 번째는 비교적 사용이 간편한 깃퍼브 데스크톱을 쓰는 것이다.

두 번째는 아래의 사전처럼 cmd를 통해 명령어로 직접 저장소를 관리하는 것이다.

cmd로 깃허브를 관리하는 것은 실무에서 주로 쓰이는 방식이지만

무엇보다...어렵다.

 

 

 

 

 

 

3. 깃허브 데스크톱 사용하기

자 그렇다면 팀프로젝트 시, 깃허브 데스크톱에서 저장소를 어떻게 사용해야 하는지 알아보자.

 

먼저 History에서 각 작업 기록에 우클릭을 하면 Amend commit, Undo commit 이 나오는 것을 볼 수 있다.

자신의 실수를 돌이킬 수 있는 중요한 방법 중 하나이니 꼭 알아두도록 하자.

Amend commit: 커밋한 내용 수정하기

Undo commit : 커밋한 내용(기록) 없애기

Revert comit: 커밋한 내용을 없애되, 기록을 남기기

 

 

Stach all changes: 코드 임시 저장. 다른 이름으로 저장이라고 생각하면 쉽다. 기존에 있는 코드와 다른 내용의 코드를 작업해야 하는데, 작업한 코드 내용을 기록하고 싶다면, 본 기능을 사용하면 된다.

 

자, 이제 본격적으로 팀 프로젝트를 위한 팀원별 자식 저장소 공간을 나누는 법을 알아보자.

Current branch - New branch를 클릭해보자.

New Branch는 새로운 자식 저장소를 만들겠다는 의미이다.

 

 

우리는 아래와 같은 구조로 팀 프로젝트를 나누게 될 것이다.

feature가 가장 말단에 존재하는 자식 저장소이고, Dev가 각각의 자식 저장소인 feature를 통합시킨 부모 저장소이다.

만약 자식 저장소의 내용들을 부모 저장소인 Dev에 합쳤는데 오류가 발생한다면 원본 파일인 main에 옮기기 전에 이 오류를 해결해야 한다.

 

 

Merge = 자식 작업물들 부모 작업물로 합치기