혼자서 작업을 할 때의 git work flow와 프로젝트 협업시의 work flow를 알아보도록 하자
( 1 ) github 홈페이지에 접속 후 로그인 후 레포지토리 생성 // remote 레포지토리가 생성된다
( 2 ) 업로드할 파일들 ( 코드 작업한 ) 이 있는 내 컴퓨터의 폴더로 이동
( 3 ) $git init // 해당 폴더의 터미널 열어 진행. $git init은 새로운 local repository 생성
( 4 ) $git add . // git add ( 파일 ) 명령어는 특정 파일들을 추가하는 명령어이며, add 뒤에 . 을 붙이면 변경된 모든 파일을 local repository에 추가한다
( 5 ) $git commit -m "메세지내용" // local 레포에 "메시지내용"의 이름으로 history를 남김
( 6 ) $git remote add origin {내 remote repository 주소} // 아까 생성한 remote 레포 ssh 주소 복사. local repo와 remote repo를 연동
( 7 ) $git push origin master or $git push origin {브랜치명} // branch 를 생성했다면 master 대신 branch에 업로드할 수 있다
( 8 ) 이후 수정 작업이 필요할 때마다 git init한 폴더의 터미널에서 git add . 이후 git push origin {브랜치명 or master } 로 진행하면 됨
이후 팀원들과 팀장은 오리지널 레포를 fork하고 fork된 레포지토리를 git clone하여 local에서 코드 작업을 진행한다.
코드 작업이 완료되면 혼자서 작업할 때처럼
git add .
git commit -m "~~"
git push origin ( 생성된 브랜치 )
순으로 fork된 레포를 업데이트해준다.
이후 PR ( Pull Request ) 을 오리지널 레포지토리로 날려주면 팀원들과 코드 리뷰를 거쳐 변경사항에 대한
merge 과정을 진행하면 된다.
만약 생성한 브랜치(a) 밑단에 또 다른 브랜치(b)를 생성했고 b를 a와 merge하고 싶다면 ?
( ㄱ ) git switch a // 업로드 브랜치 타겟을 a 브랜치로 변경
( ㄴ ) git merge b // a에 b의 내용을 통합해서 저장
( ㄷ ) git push origin a // remote repo의 a 브랜치에 반영