Programing/Git

예제로 알아 보는 git을 통한 협업

Ezzi 2020. 2. 17. 02:19
반응형

이번에는 하나의 프로젝트를 2명의 개발자가 협업하여 개발한다는 가정하에 어떤식으로 git을 통해 협업을 하는지 예제를 통해서 알아 보겠습니다. 

 

 

스프린트 회의

 

팀원들과 스프린트  회의를 통해서 A, B 개발자에게 각각 특정 모듈을 개발하는 일정이 잡혔습니다. 

 

// 스프린트 회의는 Agile개발 할 때 쓰는 용어 입니다.

// 나중에 실제로 회사에서 Agile 개발이 어떻게 이루어 지는지 경험을 토대로 얘기해 보는 것도 좋겠네요.

// 일단 이 부분은 넘어가고 오늘은 branch에 집중 해보도록 하겠습니다.

 

개발자 A = ModuleA

개발자 B = ModuleB

 

개발자 A,B에게 임무가 부여가 되었습니다. 

 

 

 

https://helloezzi.tistory.com/117

이 글과 이어지는 내용 입니다. 

 

 

브랜치 만들기

 

1. git hub에 가서 branch를 만들어 줍니다. 

 

2. Branch 이름은 sprint3로 입력하고 엔터를 치면 branch 가 생성 됩니다. 

 

제대로 생성이 되었다면 2 branches 로 표기되는 것을 확인할 수 있습니다. 

 

2 branches를 클릭하면 상세 화면이 나옵니다. 

 

 

특정 모듈을 개발해야 하는 스케줄이 잡혔을 때 항상 branch를 따서 개발을 해야 합니다. 

 

좀 더 원칙대로 하자면 A, B의 개발자가 모듈별로 branch를 만들어야 하겠지만 일단 하나의 branch로 개발하는 것을 연습해 보도록 하겠습니다. 

 

 

개발자 A의 시점

 

개발자 A는 FunctionA를 개발하여서 개발자 B가 빨리 테스트 할 수 있도록 제공해야 한다고 가정해 봅시다.

 

윈도우 탐색기에서 개발할 폴더로 이동 합니다. 

 

팁 : 탐색기 주소 창에 마우스를 클릭하고 cmd 누르고 enter를 치면 해당 경로로 terminal 이 열리게 됩니다. 

 

이제 새로 생성한 branch로 부터 개발자 A 의 개발 PC에 clone을 생성할 것 입니다.

 

위의 터미널에서 다음과 같이 입력 하세요.

 

git clone -b 브랜치이름 저장소주소

 

git clone -b sprint3 https://github.com/Helloezzi/vscode_helloworld

 

탐색기로 이동하여 소스가 제대로 클론이 되었는지 확인해 봅시다.

 

파일은 제대로 clone이 된 것 같은데...

 

내가 원하는 branch가 제대로 clone이 된 것일까 의심이 갑니다. 

 

그래서 현재 브랜치가 어떤 것인지 확인하는 명령어가 있습니다. 

 

git branch 

 

sprint3가 제대로 clone이 되었네요.

 

이제 저 프로젝트를 바탕으로 개발을 해보겠습니다. 터미널을 아직 종료 하지 말고 

 

code .

 

바로 code . 라고 치면 visual studio code 가 열리게 됩니다. 

 

 

개발자 A의 ModuleA 개발

 

visual studio code explorer 에서 마우스 우클릭을 하고 New File 을 클릭 합니다. 

 

 

ModuleA.cs 라고 파일명을 입력해 주고 다음과 같이 코드를 작성합니다.

 

개발자 B가 사용할 FunctionA도 작성해 줍니다. 

 

이제 소스를 git에 반영해서 개발자 B가 사용할 수 있도록 해줘야 합니다.

 

파일을 저장하고

 

visual studio code에서  Ctrl + Shift + ` 를 누르면 해당 경로에서 Terminal이 열립니다. 

 

그리고 다음과 같이 입력을 한줄씩 합니다 .

 

git add .\ModuleA.cs

git add commit -m "developed ModuleA"

git push

 

 

github 사이트로 가서 제대로 push 가 되었는지 확인해 볼까요.

 

 

개발자 B의 시점

 

개발자A에게 ModuleA가 완성되었다는 소식을 들은 개발자 B는 이제 그만 놀고 ModuleB를 만들어야 합니다. 

 

폴더를 생성하고 sprint3 브랜치를 clone 합니다. 

 

clone 받은 폴더로 이동해서 프로젝트를 열어 보니

 

다음과 같이 ModuleA가 제대로 반영이 되어서 clone이 되었습니다. 

 

개발자B는 이제 ModuleB를 개발해야 합니다.

 

새파일을 만들고 ModuleB.cs라고 이름을 지어 주고 코드를 작성 합니다. 

 

개발자 A가 만든 FunctionA가 문제없이 사용이 되었나요?

 

그럼 개발자 B도 개발한 내용을 commit, push 해야 합니다. 

 

 

개발자 A 와 B 모두 스프린트3 회의 때 팀원들과 약속한 개발을 모두 끝냈습니다. 

 

그리고 github에 모두 제대로 업로드 된 것을 확인할 수 있습니다. 

 

다음 글에서는 소스가 Conflict 났을 때 대처 하는 법 부터 Merge 하는 것 까지 알아 보도록 하겠습니다. 

 

 

 

 

#visualstudiocode #vscode #git #clone #agile #스프린트회의 #sprint #스크럼 #github사용법 #github예제

반응형