TIL2: Git Workflow

Charlie·2020년 10월 19일
0

Immersive Course TIL

목록 보기
2/39
post-thumbnail

경우에 따라 차이가 있기는 하지만 대부분의 프로젝트 개발은 아래의 Git Workflow를 따르게 됩니다.

(0) 본격적인 새로운 기능 개발을 하기전에 우선 upstream repository로 부터 나의 remote repository로 fork를 실행합니다. 그리고 다시 remote에서 localgit clone을 실행합니다.

(1) 개발 중 upstream에서 새로운 업데이트가 이루어졌다면 최적의 개발 환경을 위해 항상 최신 상태를 유지합니다.

$ git pull upstream master
// 또는
$ git pull <branch name> master

$ git pull 
// 이 실행은 아래의 두 가지를 한꺼번에 실행하는 것과 같음
$ git fetch
$ git merge

(2) 분리된 작업 영역에서 원본에 영향을 주지 않고 다양한 시도를 하면서 새로운 기능을 개발하기 위해 branch를 생성합니다.

$ git branch                         // 브랜치 목록 및 현재 브랜치 확인
$ git checkout <branch name to base> // 베이스로 하고자 하는 브랜치로 이동

$ git branch <branch name to create> // 베이스 브랜치에서 새로운 브랜치 생성
$ git checkout <branch name created> // 생성된 브랜치로 이동

// 위의 두 가지 실행을 아래와 같이 한꺼번에 실행할 수도 있음 
$ git checkout -b <branch name to create> // 베이스 브랜치에서 새로운 브랜치를 생성하고, 생성된 브랜치로 이동

(3) 코딩하고 파일을 저장한 뒤 git commit을 실행합니다.

$ git status                     // git 현황 확인
$ git add <. or file name>
$ git status 
$ git commit -m "first commit"
$ git status 

(4) 나의 remote repository로 git push를 실행합니다.

$ git push origin master <or branch name>

(5) GitHub로 이동하여 pull request를 작성함으로써 마무리 합니다.

협업하는 동료가 있을 경우 동료의 remote repository를 추가하여 작업을 진행할 수도 있습니다.

// 지정된 URL의 repository를 remote로 추가하고 이름 짓기
$ git remote add <naming branch> <repository URL> 
// remote 현황(이름들) 보기
$ git remote show
// 또는 git remote -v : remote 현황 좀더 자세히 보기
$ git remote --verbose                             

협업시 주의해야 할 점은 git pull은 동료의 remote를 대상으로 하고, git push는 나의 remote를 대상으로 실행해야 합니다.

$ git pull <named branch> master
$ git push origin master

자료 출처: 코드스테이츠(CodeStates)
참조: Git, GitHub

0개의 댓글