저는 오픈 소스 프로젝트 (Endless Sky)에 기여하기 위해 좋은 Git 워크 플로우를 갖기 위해 노력하고 있습니다 만, 시작한 이후로 나는 깨끗한 역사로 끝나지 않았습니다. 내 작업 흐름은 다음과 같습니다 :병합에서 rebase로 전환하는 Git 작업 흐름 : 병합 커밋 기록을 정리하는 방법?
upstream/master
은 here입니다.- 내 포크는 here입니다. 나는 GitHub Desktop을 사용하기 시작했으나 커맨드 라인으로 전환하기 시작했습니다.
- 내 포크의 마스터가
upstream/master
을 미러링한다고 가정합니다. 내가 개발 한 각 기능은 내 마스터에서 만든 자체 분기를 가지고 있으며 내 기능을 테스트/재생하기 위해 내 로컬 (로컬)alpha
및 (푸시)beta
분기를 사용합니다.
내 갈퀴 마스터에 문제가 있습니다. This branch is 15 commits ahead of endless-sky:master.
파일이 변경되지 않았습니다. 병합 메시지입니다. 이것은 나에게는보기 흉한 것처럼 보였습니다. 그래서 나는 약간의 책을 읽었습니다. 특히 Stop using 'git pull': A better workflow 기사를 읽었습니다. 그리고 나는 rebasing/fast-forwarding으로 전환했습니다.
그러나이 상황에서 기존 병합 커밋 기록을 정리하는 가장 좋은 방법은 무엇입니까? 내 지형지 물 중 일부를 만지며 (feature/JammingHaywire
참조) 의미있는 커밋이 무의미한 병합 커밋에 의해 익사되는 PR을 제출하고 싶지 않습니다.
나는 다양한 질문을 읽고 내가 최고야 여부를 매우 명확하지 않다했습니다 master
를 리메이크/
- 삭제를 -입니다 특히 GitHub의와 안전?
git rebase -i [which commit?]
다시 시도하는 중 - 작동하지 않는 것 같습니다.0facf00
으로 다시 시도해 보았습니다. 일부는 전까지 커밋하고 내 병합 커밋 해시 (예 :3be4d97
은 GitHub에 표시됨)가 삭제할 텍스트 파일에 표시되지 않습니다. 최종 결과는 변경되지 않습니다.- 다른 것을하고 있는데 아직 생각하지 못했습니까? 처음부터 '좋은 연습'을하려고하는 것입니까?
게시물을 [편집] (// stackoverflow.com/help/editing)하여 언급 한 기사에 대한 링크를 추가했습니다. 그것이 올바른 것이 아니면 업데이트하거나 제거하십시오. –
완벽한, 감사합니다. 나는 (사용자 한도 시작) 세 번째 링크를 추가 할 수 없으므로 큰 도움이됩니다. – Elyssaen