본문 바로가기

JAVA언어의 기초/git

개발자들의 협업 방법 Git & GitHub 의 기초 (초보자)

 

Git과 GitHub는 개발자들의 협업에 아주 중요한 역할을 차지한다.

 

먼저 깃에 대해 설명을 하고 싶다.

깃은 로컬 즉 본인 컴퓨터에서 인터넷 연결이 필요 없이 개발을 진할 할 수 있다.

또한 중앙 저장소가 삭제되어도 원상복구가 가능하다.

 

Git에서 간단하게 사용되는 용어들이 있는데

  • Repository : 저장소이다. 이곳에 히스토리나 태그, 소스의 버전을 저장한다. 또한 작업자가 변경한 모든 히스토리를 확인
  • Branch : 현재 상태를 복사
  • Working Directory : 수정한 파일을 아직 로컬 데이터 베이스에 Commit 하지 않은 것
  • Staging Area : 현재 수정한 파일을 곧 Commit 할 것이라고 표시한 상태
  • Head : 현재 작업 중인 Branch를 가리킴
  • Commit : 변경된 작업상태를 확정하고 저장소에 저장하는 작업
  • Merge :  Branch 한 내용을 합치는 작업

이러한 용어들이 있다.

 

Git의 주요 작업으로는

 

Working Directory에서 정보를 수정하고

Area에 수정한 정보를 Stage 하여 스냅숏을 생성한다.

Commit을 통해 Repository에 저장하게 되면

영구적으로 내 정보를 저장할 수 있다.

 

 

Working Directory -> add 하면-> Area -> commit 하면 -> Repository

반대로  Repository에서 가져오려면

git checkout

하면 된다.

 

 

간단하게 집에서 실행할 수 있는 코드들은

여러 가지 책이나 자료를 통해 많이 나와있지만

나는 이해하지 못하면 책을 봐도 어렵다고 느꼈다.

 

 

 

 

그래서 정확하게는 잘 모르지만 말로 설명해볼까 한다.

 

 

 

 

Git을 하는 이유는 나의 정보를 저장하기 위해서 쓴다고 생각한다.

또한 브랜치를 통해 나눠서 작업하거나 병합하기 쉬워서 쓴다 생각한다.

 

하지만 깃만 쓰기엔 다른 사람과 작업을 함께 하지 못한다.

 

협업!!

협업을 하기 위해 우리는 GitHub를 쓴다.

내가 버전을 관리하고 수정한 정보를 다른 팀원들과 나누기 위해

Git을 GitHub와 연동하여 팀원들과 정보를 주고받는다.

 

아까

Working Directory -> add 하면-> Area -> commit 하면 -> Repository

이것을 봤을 거다.

 

GitHub는 하나가 더 추가된다.

Working Directory -> add 하면-> Area -> commit 하면 -> Repository -> Push -> Remote Repository

반대로  Remote Repository서 가져오려면

git pull origin master

하면 된다.

 

 

 

팀플을 하다 보면 기존 코드에서 브랜치를 하게 된다.

이때 나는 이 브랜치를 이렇게 생각했다.

 

 

 

 

맛있는 피자를 만들기 위해 도우 반죽을 먼저 하고

도우를 얇게 펴는 작업을 할 것이다.

이 작업을 나는 Main이라 생각하고

이 도우를 여러 개 나눠 만드는 걸

Branch라 생각했다.

 

나는 얇은 반죽에 불고기를 올리고

팀원 1은 치즈를

팀원 2는 햄을 넣는다.

 

이렇게 되면 한 명은 불고기피자가 되고

한 명은 치즈피자가 되고

한 명은 페페로니 피자가 될 것이다.

 

 

 

 

이렇게 다양한 피자들을 한 곳으로 모와야 한다.

우리 팀의 목표는 콤비네이션 피자를 만드는 것이기 때문에

 

 

그래서 merge를 통해 재료를 한 도우에 붇게 되면

콤비네이션 피자가 된다.

 

이렇게 생각했다.

 

틀렸거나 이해를 제대로 못했다면 알려줬으면 좋겠다.

 

 

하지만 이런 작업을 하면

서로 Push를 하여 충돌이 생기게 된다.

그러므로 팀과의 소통이 중요하다!!

 

나 올릴게 너 받아?

너 받았어?? 나도 줘

나도 받았어

우리 둘이 같은 코드야 하고

 

 

인터넷이나 책에 다양하게 설명되어 있다.

하지만 비전공자나 Git을 처음 배우는 전공자도

막상 읽어보면 어렵다.

 

하지만 이러한 비유를 통하여 쉽게 알고 나면

코드를 봤을 때 아... 이래서 이런 소리를 하였구나

하는 생각이 들었으면 좋겠다.

 

물론 나도 처음 배울 땐 너무 어려웠다.

나만의 방식으로 이해했기 때문에

이게 맞지 않을 수도 있다.

 

 

하지만

처음 배울 때 어렵게 접근하지 않았으면 한다.

 

사실 오늘 공부하면서 많은 걸 배웠지만

실질적으로 많은 프로젝트를 하지 않아

어떤 것을 많이 쓰고 어떤 것이 중요한지

아직은 잘 모른다.

 

Fork를 쓰는 법도 있지만

내가 직접 프로젝트를 여러 번 만들면서 써보고

정말 중요하거나 많이 쓰이는 방식에 대해

차후

글을 다시 써볼까 한다.

 

 

'JAVA언어의 기초 > git' 카테고리의 다른 글

git - git flow 사용법  (0) 2024.07.05