Git 고수님.. 질문있습니다. (오픈소스 이용시 버전 컨트롤)
글쓴이: stylix / 작성시간: 수, 2015/07/01 - 8:56오후
Git을 의무적으로 사용하긴 하지만 아직 제대로 활용하지는 못하는 초보입니다.
제가 오픈소스를 하나 사용하려고 하는데요...
거기에는 저에게는 불필요한 기능이 많아서 그것들을 제거하고
또 저한테 필요한 기능중에 없는 것들을 추가하면서 사용하려고 합니다.
그런데 만약 원래 프로젝트 개발자들이 파일을 업데이트했을 때, 그게 만약 저에게 필요한 기능이라면 저도 반영을 하고 싶은데요.
이렇게 하려면 브랜지 전략?을 어떻게 짜야 하는지요?
제가 필요에 의해 수정하는 부분들은 원래 프로젝트와 무관하니 "브랜치"가 아니라 (푸시할 수도 없는 것이고..) 새로운 저장소로 시작해야 할 것 같은데
그러면 원래 개발자들이 업데이트하는 것들을 반영하는 작업이 눈으로 직접 코드를 라인 by 라인으로 비교해야 할 것 같은데...
괜찮은 방법 없을까요? (오픈소스 이용자들에게는 분명 이런 요구사항들이 있을 듯한데요...)
Forums:
다음 두 글을 참고해보세요. (upstream이 원래
다음 두 글을 참고해보세요. (upstream이 원래 프로젝트의 저장소라고 보면 됩니다.)
git 원격 저장소 추가: https://help.github.com/articles/configuring-a-remote-for-a-fork/
원래 프로젝트의 변경된 내용을 내 프로젝트에 합치기: https://help.github.com/articles/syncing-a-fork/
Github 를 사용하지 않는 경우
답변 감사합니다.
그런데 제가 사용하려는 프로젝트는 Github가 아닌 자체 Git 서버를 사용하더군요
이 경우에도 위의 방법을 사용할 수 있나요?
포크 버튼 같은 건 없고 주소만 있어서 그냥 로컬에 복제해 훓어보고 있습니다...
github는 예제입니다.
기본 원리는 같다고 보시면 됩니다.
fork를 지원하지 않는 저장소는 단지 조금 불편할 뿐입니다.
1. 원본 저장소에서 소스를 clone, original로 하지 않고 upstream으로 지정함
2. clone한 소스를 원하는 대로 수정
3. 내 저장소에 push, original로 지정
원본 저장소에 추가된 기능을 합치는 경우
1. 브랜치 생성
2. upstream에서 pull
3. 소스 정리
4. 브랜치 병합 push
댓글 달기