본문 바로가기
Development/Git

[Git] Git 협업 필수 작업 - branch, issue, PR

by 대범하게 2022. 9. 19.
반응형

git으로 협업하기 위해 사용했던 방법에 대해 간략하게 정리해보려고 한다.

 

1. 먼저, 작업할 레포지토리(다른 사람의 Github repository)를 fork 한다.

 

fork ?

: 다른 사람의 Github repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때

해당 respository를 내 Github repository로 그대로 복제하는 기능이다.

 

그럼 내 깃허브에 fork한 레포지토리가 생성된다.

내 깃허브에 나만의 레포지토리로 생성된 것이기 때문에 수정하거나 추가를 해도 원본 레포지토리에 영향이 없다.

 

2. fork한 레포지토리를 IDE에서 clone 한다.

 

git clone [repo url]

clone한 레포지토리를 각자의 IDE에서 코드 작업하면 된다.

 

3. 수정 및 추가해야할 작업을 issue로 올린다.

4. git main에서 작업하지 말고 무조건 branch 만들고 거기서 커밋할 것

 

모든 버전 관리 시스템은 branch(브랜치)를 지원한다.

브랜치는 원래 코드와는 상관없이 독립적으로 어떤 작업을 진행하기 위한 개념이다.

branch가 나뭇가지의 뜻도 있기에 뻗어나왔다고 생각하여 이해하였다.

다른 버전 관리 시스템과는 달리 Git은 브랜치를 만들어 작업하고 나중에 Merge하는 방법을 권장한다.

 

[커밋 방법]

 

1) git branch (브랜치 확인)

 

2) git branch pr_test (브랜치 생성)

* pr_test는 branch name이다. 

 

3) git checkout pr_test (브랜치 교환)

=> main에서 생성한 브랜치로 변경된다!

 

4) git add PR_test.py(작업 내용) (작업 내용 add)

 

5) git commit -m "PR_test" (커밋)

 

6) git push (원격 저장소에 push)

 

fatal: The current branch pr_test has no upstream branch.
To push the current branch and set the remote as upstream, use

=> 다음과 같은 에러가 뜬 이유는 로컬엔 새로운 branch가 있지만 github엔 반영이 안 되었기 때문에 !

 

7) git push --set-upstream origin pr_test 

=> 다음과 같은 명령어를 입력해주면 github에서도 브랜치가 생긴걸 알 수 있다.

 

8) push를 하고 다시 main 브랜치로 돌아와야한다! 잊지 말기..!

git checkout main

 

위 명령어를 끝내고 깃허브 레포에 들어가면  

compate & pull request 가 뜨는 걸 볼 수 있다. 클릭!

 

 


요약

작업할 레포지토리를 fork

=> fork한 레포지토리를 클론

=> 이슈 올림

=> 코드 구현

=> 브랜치 만들어서 add commit push

=> PR 날리기

=> 이후 merge 버튼을 누르면 수정됨

 

참고) 

https://clairline.tistory.com/19?category=1037430

반응형