Pull Request ?
협업을 위해 다른 사람이 공개해 둔 프로젝트를 가져와 직접 수정하고 프로젝트에 업데이트 하는 작업이다.
1. Fork
: 공동 프로젝트의 저장소를 자신의 저장소로 Fork 합니다.
↓
: forked from [팀 / 공동 프로젝트] 처럼 Fork 한 프로젝트를 확인할 수 있습니다.
2. Clone & Remote
Clone
1. 자신의 저장소에서 clone or download 의 url 을 복사합니다.
2. terminal 에서 공동 프로젝트를 저장할 directory 로 이동합니다.
$ cd my_project
3. 저장할 directory 에 Fork 한 저장소를 Local 에 Clone 합니다. (복사한 주소)
$ git clone https://github.com/{my_github_id}/{team_project_repository}.git
Remote
위 과정을 진행하면 origin 이름으로 remote url이 내 저장소로 기본적으로 설정이 되어 있습니다.
나중에 팀 저장소와 내 저장소를 동기화 하기 위해 팀 저장소도 remote로 등록하는 것이 좋습니다.
$ git remote add [name] [팀 저장소 URL]
$ git remote -v
3. Branch 생성
: 자신의 Local 컴퓨터에서 코드를 추가하는 작업 Branch 를 만들어서 진행합니다.
\(\rightarrow\) 개발을 다하 보면 코드의 일부분을 변경해서 확인해보기 위해 코드를 여러 개로 복사해야 하는 일이 자주 생깁니다. 따라서 코드를 전부 복사하고 나서 원래 코드와 상관없이 독립적으로 개발을 진행할 수 있는데 바로 branch (브랜치)를 사용하는 것입니다.
# develop1 이라는 이름의 branch를 생성합니다.
$ git checkout -b develop1
Switched to a new branch 'develop1'
# 브랜치를 확인합니다.
$ git branch
* develop1
master
4. 수정 작업 후 add, commit, push
4.1 개발 작업을 진행합니다.
4.2 작업이 완료된 후 add, commit, push를 통해 자신의 저장소에 수정 사항을 반영합니다.
4.3 [주의] push 진행 시 branch 이름을 제대로 명시해주어야 합니다.
$ git add .
$ git commit -m "커밋 메시지"
$ git push -u origin develop1
5. Pull Request 생성
: push 완료 후 본인 계정의 github 저장소에서 위에서 생성한 branch의 Compare & pull request 버튼이 활성화 되어 있습니다.
\(\rightarrow\) 해당 버튼을 클릭하여 메시지를 작성하고 PR을 생성합니다.
6. Merge Pull Request
: PR을 받은 팀 공동 프로젝트 저장소 관리자는 코드 변경 내용을 확인하고 Merge 여부를 결정합니다.
7. Merge 이후 동기화 및 Branch 삭제
: 원본 저장소에 Merge가 완료되면 Local에 원번 저장소의 코드를 동기화 합니다.
$ git pull upstream(원본 branch 별명)
저는 다음과 같은 오류를 떠서 원본 저장소의 mater branch를 명시해줬습니다.
You asked to pull from the remote 'upstream', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
$ git pull upstream(원본 branch 별명) matser
: 작업하던 Local의 branch를 삭제합니다.
\(\rightarrow\) branch는 작업 당 새로 생성하여 관리하는 것이 효율적입니다. (develop1, develop2, \(\cdots\) )
$ git checkout main
$ git branch -d develop1
'Dev > Git & GitHub' 카테고리의 다른 글
[Git] push한 commit message 수정하기 (0) | 2024.02.21 |
---|---|
[에러 해결] fatal: unable to access ~ : error setting certificate file: C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt (0) | 2024.01.10 |
git rebase & git stash (0) | 2023.05.25 |
GIT pull , merge, commit, add 명령 되돌리기 (0) | 2022.10.24 |
Git & GitHub (0) | 2022.08.03 |