[Git] 오픈소스 (Open-source) 프로젝트 기여하기
git으로 오픈소스 프로젝트 협업하기
뉴비, 취업 전 실전 경력이 없는 컴돌이들은 오픈소스를 통해 기여하는 것도 방법이다. 하지만, git 초보들은 오픈소트 프로젝트를 하면서 PRPull Request를 날리는게 처음엔 상당히 헷갈린다. 이번에 코드를 통한 기여는 아니지만 오픈소스 번역 프로젝트에 참여하면서 알아간 내용을 써보았다.
[1] 포크Fork 따온 저장소Repository 최신화
포크 떠오자마자 라면 다른 기여자의 코드와 버전 충돌할 리는 없지만, 내 저장소로 포크를 떠온 뒤 시간이 흐르고 나서 기여를 한다면 다른 사람이 수정한 코드와 충돌이 일어날 수 가 있다. 따라서 저장소를 최신화 해준 상태에서 진행해준다. (cherrypick 방법이 있다고는 하는데.. 아직 모름..)
그림. 1: edit conflict
remote
- github과 같은 원격저장소와 연결하여 관리한다.
- origin(내가 포크 따온 저장소)과 upsteram (원본 소스코드가 있는 곳) 연결하자.
git remote -v git remote add origin https://github.com/deeesp/pytorch-Deep-Learning.git git remote add upstream https://github.com/Atcold/pytorch-Deep-Learning.git
fetch
&merge
또는pull
- upstream으로부터 가져와서 실제 최신화 하는 과정
git fetch upstream git merge upstream/master git pull upstream master
push
- 내 저장소로 push해준다.
git push origin master
[2] 브랜치 만들어서 수정
-
checkout
git checkout -b kr-11-1
-
원하는 파일
add
및commit
git add * git commit -m "[KR] Translation of 11-1.md"
-
내 저장소에
push
git push origin kr-11-1
-
github에서
pull request
Leave a comment