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
1) 레퍼지토리에서 branch로 나의 것을 만든다.
2) 레퍼지토리를 나의 로컬로 clone한다.
3) git checkout 브랜치이름
후 코드를 작성하고 commit push 한다.
4) 코드를 작성하고 이것을 git push 진행한다.
5) compare를 통해 대상 A에서 대상 B로 pull request를 진행한다.
해당 레퍼지토리에 branch 이름을 잘못 설정했을때는 아래의
branches
부분을 클릭해서 추가한 branch를 빨간 휴지통이 보이면 삭제 가능하다.
branches를 눌러 설정하는 부분이 따로있다.
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 영향은 없다. )
1b/#3_khw970421_working
브랜치intellij에서 a 브랜치로 하다가 끝나면 폴더는 a 브랜치에서 작업한 내용으로 처리가 되어있다. intellij에서 b브랜치로 checkout을 하면 다시 폴더를 검색하면 b브랜치로 작업한 내용으로 떠있다.
이미 A branch를 통해 로컬에 작업하는 폴더가 있는데
B branch를 github에서 추가한 것을 로컬에서도 해당 B branch를 추가하고 싶을때는
git pull origin B브랜치이름
을 통해 pull해서 가져온다음 처리한다.
이때 pull시 에러가 발생할 수도있는데 A branch에서 바뀐 수정 내용을 commit과 push를 처리해야한다고 에러가 날 수 도있으니 해당 부분을 처리 후 진행한다. (아래 overwritten 주의)