2010-02-11 4 views
3

나는 git repo를 가지고있다. 그것은 여러 번 분기되고 많은 독립 커밋이 그 위에 만들어집니다. 모든 github 호스팅 프로젝트에서 일어나는 것과 같이 모든 것이 정상입니다.많은 워크 플로우를 포함하고있는 워크 플로우를 포함하는 워크 플로우

이제 커밋을 개별적으로보고 원하는대로 적용하려면 정확한 워크 플로를 수행해야합니다.

나는 최적의 방법이 아닌 워크 플로우는 github-username이라는 이름의 브랜치를 만들고 마스터에 변경 사항을 병합하고 수동으로 필요하지 않은 커밋의 변경 사항을 취소하는 것입니다 (많지는 않습니다. 그것은 효과가 있었다).

내가 원하는 것은 서로 다른 포크에서 모든 커밋을 개별적으로보고 체리를 선택하여 내 마스터 위에 적용하는 기능입니다.

따라야 할 워크 플로는 무엇입니까? 그리고 gui (gitk?)는 모든 다른 개별 커밋을 볼 수있게 해줍니다.

병합은 워크 플로우의 주요 부분이어야하며 체리 픽 (git의 관점에서 볼 때 다른 커밋을 생성 함)이 아니라는 점을 알고 있습니다. 심지어 다른 사람의 변경 사항을 제 위치에 리베이스하는 것조차도 그래프의 히스토리를 보존하지 않을 수 있습니다. 이는 내가 리베이스 한 커밋임을 나타냅니다. 그럼, 어떻게 그들 중 많은 커밋을 그냥 무시합니까?

github에는 각 커밋 노드 이후에 "내 마스터 맨 위에이 커밋 적용"이 있어야한다고 생각합니다. 그래서 나는 모든 것을 한 후에 그것을 끌어낼 수 있습니다.

답변

2

이것은 일반적으로 리모컨을 사용하는 대상입니다. 각 포크에 대해 새 리모컨 git remote add <name> <url>을 추가 할 수 있습니다. 그런 다음 원격 커밋을 모두 가져올 수 있습니다 (git fetch <name>). 그런 다음 원격 지점에서 원하는 시각화 도구를 사용할 수 있습니다. origin/master와 마찬가지로/master를가집니다. 그곳에서부터 다른 리모컨에있는 체리 피클 (cherry-pick)은 원산지 인 가지에서 체리 피클 (cherry-pick)만큼 쉬운 것입니다.

원점 리모컨은 어떤 방식 으로든 원격 저장소의 특수한 경우가 아닙니다. 단지 원래 복제 한 원격 저장소의 기본 이름 일뿐입니다. 이름의 출처가 마음에 들지 않으면 이름을 바꿀 수 있습니다.

모를 경우 모든 gui 도구를 사용하면 현재 분기의 기록 이상을 볼 수 있습니다. tig, qgit 또는 gitk와 같은 것을 시작하면 패스 할 필요가 있습니다. 로컬과 리모트에 대해 알고있는 모든 가지를 보여주기 위해서입니다.

관련 문제