GitHub&Git

[Github] fork 사용하기(다른 사람의 repository를 내려받기)

findTheValue 2021. 7. 14. 20:16

1. 내 github에 추가할 상대 repository를 fork해오기(오른쪽 위에 포크모양 클릭)

 

2.fork해서 만들어진 내 github의  repository url을 복사 후 받아오기 (clone URL)

 

3. 원격 저장소 내 내부 저장소로 받아오기.

git clone [Clone URL]

4. pull request작업 수행할 branch 생성

git checkout -b [branchName]

5. 원본 저장소를 원격 저장소에 추가.

git remote add origin(branchname) [Clone URL]

6. 코드 수정 및 파일 추가

 

7. 수정사항을 add

git add [fileName]

8.add 한 파일들을 commit

git commit -sm "[commit mesagge]"

9. 내가 찍어온 repository의 branch로 push

git push origin(Branch name) [branchName]

10. fork해온 내 레포에서 pull-request작성해 보내기.

 

11.원본 레포 관리자는 변경 내용을 확인 후 PR을 Merge할지 말지 여부를 결정.

-git status

-git checkout master

 

-git merge [branchName]

 

12. Merge이후 동기화 및 사용한 branch삭제

git pull origin(branchname)

master branch상태에서 시행. 코드 동기화

 

git branch -D [branchName]

branch 삭제.

 

13. 향후 추가 요소 발생 시 원본 통기화 (pull해서 받아 온 후 branch생성 후 동일하게 진행.)

 


그런데 원본 레포가 업데이트가 많이 되어 Fork해온 레포에 최신화가 안되었을 경우 문제가 생기는데

 

$ git remote add upstream [원본 레포 클론주소]

를 통해 upstream이라는 이름으로 git remote -v에 upstream repo를 추가시킨다.

 

$ git fetch upstream

을 통해 원본 저장소로 부터 업데이트 된 내용을 fetch한다.

$ git checkout master

$ git merge upstream/master

원본레포의 master branch로 부터 나의 local master branch(내 컴퓨터 깃)로 merge한다.

 

$ git push origin master

명령을 통해 내 로컬 레포를 원격 레포로 push해주면 원격 레포도 최신화 완료!

 

 

 

++++

 

push에러뜨는 경우 강제푸시

git push -u origin +master