git 협업하는 방법

KHW·2021년 8월 5일
0

github

목록 보기
7/9

방법 1 (fork 가능)

1) 레퍼지토리에서 branch로 나의 것을 만든다.
2) 해당 레퍼지토리를 fork한다.
3) fork한 레퍼지토리를 나의 로컬로 clone한다.
4) 코드를 작성하고 이것을 git push 진행한다.
(이때 이미 만든 branch가 있으니 로컬의 나의 branch에서 fork한 레퍼지토리로)
5) 해당 내용이 수정되므로 이를 기존의 레퍼지토리로 pull request를 진행한다.


간단히

기존 레퍼지토리 A
fork한 나의 레퍼지토리 B
B를 clone하여 로컬에 만든 C

3가지로
A->B : fork
B->C : Clone
C->B : push
B->A : pull request

  • 한번 세팅 후로는 아래 push , pull request만 자주 사용할 것 같다.

방법 2 (fork 불가능)

1) 레퍼지토리에서 branch로 나의 것을 만든다.
2) 레퍼지토리를 나의 로컬로 clone한다.
3) git checkout 브랜치이름 후 코드를 작성하고 commit push 한다.
4) 코드를 작성하고 이것을 git push 진행한다.
5) compare를 통해 대상 A에서 대상 B로 pull request를 진행한다.


실수로 잘못된 branch를 만들었을때

해당 레퍼지토리에 branch 이름을 잘못 설정했을때는 아래의 branches 부분을 클릭해서 추가한 branch를 빨간 휴지통이 보이면 삭제 가능하다.

실수로 branch 이름을 잘못 만들었을때

branches를 눌러 설정하는 부분이 따로있다.

실수로 로컬에서 작업하는데 branch를 checkout하지않고 작성했을때

ex) main branch에서 작업을 하고 나중에 1b/#3_khw970421_working 에서 commit push를 해야되는 것을 깨달았으면 그때라도 git checkout 1b/#3_khw970421_working 한 후에 해당 branch에서 commit과 push를 진행하면 해당 branch인 상태로 commit과 push가 진행된다.
이 후에는 main브랜치로 이동하면 코드가 없고 1b/#3_khw970421_working로 가면 작성한 코드가 존재한다.
(해당 branch 옮겨다닐때 여부는 commit이나 push 관련인듯 하다 그전까지는 branch 영향은 없다. )

  • commit과 push한 1b/#3_khw970421_working 브랜치
  • main 브랜치

TMI

intellij에서 a 브랜치로 하다가 끝나면 폴더는 a 브랜치에서 작업한 내용으로 처리가 되어있다. intellij에서 b브랜치로 checkout을 하면 다시 폴더를 검색하면 b브랜치로 작업한 내용으로 떠있다.

branch 추가정보

상황

이미 A branch를 통해 로컬에 작업하는 폴더가 있는데
B branch를 github에서 추가한 것을 로컬에서도 해당 B branch를 추가하고 싶을때는
git pull origin B브랜치이름을 통해 pull해서 가져온다음 처리한다.
이때 pull시 에러가 발생할 수도있는데 A branch에서 바뀐 수정 내용을 commit과 push를 처리해야한다고 에러가 날 수 도있으니 해당 부분을 처리 후 진행한다. (아래 overwritten 주의)

profile
나의 하루를 가능한 기억하고 즐기고 후회하지말자

0개의 댓글