- Git bracnch 사용하기
개인적으로 프로젝트를 관리한다면 단순하게 github를 쓰는게 문제가 되지 않지만 팀을 이뤄서 작업을 한다면 수작업으로 모듈을 합치기에는 쉽지가 않다. master를 중심으로 팀원들의 branch를 나누고 팀원들은 branch를 중심으로 작업을 하게 된다. master는 그날 작업이 종료되면 merge를 하여 프로젝트 upload를 해야한다.
master는 설계 / 팀원 cat은 댓글관리, 회원관리 / dog은 파일업로드, 채팅 을 작업한다고 하자.
해당 폴더 안에 readme.txt를 만들어서 각 인원의 역할을 넣었다.
이제 github에서 board 프로젝트를 추가한다.
아래는 팀원들을 추가할 수 잇는 루트이다.
이제 master가 해당 프로젝트에 로컬저장소의 프로젝트를 업로드하자.
board 폴더를 initialize하고 저장소를 지정한다.
// git init
user@DESKTOP-SR7QHGP MINGW64 /c/pc_master/board
$ git init
Initialized empty Git repository in C:/pc_master/board/.git/
// 저장소 지정
user@DESKTOP-SR7QHGP MINGW64 /c/pc_master/board (master)
$ git remote add origin https://github.com/username/projectName.git
// 모든파일 저장
user@DESKTOP-SR7QHGP MINGW64 /c/pc_master/board (master)
$ git add .
// 해당 commit 메시지
user@DESKTOP-SR7QHGP MINGW64 /c/pc_master/board (master)
$ git commit -m "project setting"
// master에 push
user@DESKTOP-SR7QHGP MINGW64 /c/pc_master/board (master)
$ git push origin master
이제 팀원들이 내려받기를 해보겠다.
cat이 한다고 해보겠다.
// 목록 확인
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat
$ ls
// 프로젝트 cloning
// master의 project URI를 확인해수 clone을 한다.
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat
$ git clone https://github.com/username/board.git
cat이 댓글 기능을 작업한다고 했을때 reply.txt를 만들고 해당 파일을 업로드 해보겠다.
하지만 master가 아닌 branch가 업로드를 해야한다.
// cloning한 프로젝트 폴더에서 git bash를 한다.
// 해당 프로젝트의 list를 확인한다.
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (master)
$ ls
readme.txt reply.txt
// cat branch를 생성한다.
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (master)
$ git branch cat
// branch list를 확인한다.
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (master)
$ git branch
cat
* master
// cat을 uploader로 설정한다.
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (master)
$ git checkout cat
Switched to branch 'cat'
// cat으로 변경됨을 확인한다.
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (cat) <<< cat 변경 확인
$
// reply.txt를 수정한다.
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (cat)
$ ls
readme.txt reply.txt
// 해당 프로젝트의 모든파일 upload
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (cat)
$ git add .
// 해당 기능의 설명을 messaging 한다.
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (cat)
$ git commit -m "reply func 01"
[cat eb1780b] reply func 01
1 file changed, 1 insertion(+)
create mode 100644 reply.txt
// master가 아니라 branch로 push 한다.
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (cat)
$ git push origin cat
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 279 bytes | 279.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'cat' on GitHub by visiting:
remote: https://github.com/jufred89/board/pull/new/cat
remote:
To https://github.com/jufred89/board.git
* [new branch] cat -> cat
user@DESKTOP-SR7QHGP MINGW64 /c/pc_cat/board (cat)
$
이제 github에 들어가서 branch cat이 생성됨을 확인한다.
이제 branch에 업로드한 파일을 팀장이 merge하면 된다.
이제 해당 프로젝트 main으로 들어가면 cat 이 추가한 reply.txt가 merge 되었음을 확인할 수 있다.
당일 프로젝트가 끝나면 이와 같이 프로젝트 팀원들의 branch를 확인하고 master가 merge하면 되고 다음날이 되면 해당 merge된 프로젝트를 pull하면 된다.
'ICIA 수업일지' 카테고리의 다른 글
2021.10.25 수업일지(Spring Framework, Web Socket) (0) | 2021.10.25 |
---|---|
2021.10.22 수업일지(Spring Framework, Web Socket) (3) | 2021.10.22 |
2021.10.21 수업일지(Spring Framework, KAKAO, NAVER API, Git 연습) (0) | 2021.10.21 |
2021.10.20 수업일지(Spring Framework, Github, Git, Jsoup, Selenium) (0) | 2021.10.20 |
2021.10.19 수업일지(Spring Framework, Interceptor, Google API) (0) | 2021.10.19 |