나는 약간의 수정을 가한 GitHub에서 분기 된 저장소를 가지고 있습니다. 그러나 특정 커밋에서 일부 파일이 변경되어 다른 수정 된 파일을 요청에서 제외하고 끌어 오기 요청을 제출하려고합니다.특정 파일/커밋 만 풀 요청
끌어 오기 요청 병합 모두 커밋을 수행합니까, 아니면이 커밋을 분리하기 위해 특별한 작업을 수행해야합니까?
나는 약간의 수정을 가한 GitHub에서 분기 된 저장소를 가지고 있습니다. 그러나 특정 커밋에서 일부 파일이 변경되어 다른 수정 된 파일을 요청에서 제외하고 끌어 오기 요청을 제출하려고합니다.특정 파일/커밋 만 풀 요청
끌어 오기 요청 병합 모두 커밋을 수행합니까, 아니면이 커밋을 분리하기 위해 특별한 작업을 수행해야합니까?
풀 요청은 전체 커밋으로 이루어 지므로이 커밋을 끌어 오기 요청에 넣을 변경 내용과 다른 변경 내용을 포함하는 두 개의 별도 커밋으로 분할해야합니다. 이 작업을 수행하려면 git rebase -i
이 필요합니다 (예 : How can I split up a Git commit buried in history?).
커밋을 분할했으면 포함하려는 항목을 주제 분기로 이동하십시오 (예 : How to move certain commits to another branch in git? 참조).하지만 풀 요청을하는 커밋이 순차적인지 여부에 따라 다릅니다.
마지막으로 Github으로 이동하여 주제 분기에서 끌어 오기 요청을 만들 수 있습니다.
풀 요구가 분기를 병합합니다. 따라서 끌어 오기 요청을 위해 몇 가지를 격리하려는 경우 이러한 변경 사항을 별도의 분기에 저장하는 것이 가장 좋습니다.
장점 새로운 변경 사항을 해당 분기로 푸시 (밀어 넣은 커밋을 변경해야하는 경우 push -f조차도)하여 끌어 오기 요청을 변경할 수 있다는 이점이 있습니다.
관련이있을 수 있습니다 : [특정 파일의 변경 만하는 방법?] (http://stackoverflow.com/q/5717026) – jww
@jww 년 후 'git cherry-pick'이되었습니다. 절대적으로 귀중한. 내가 한 것보다 훨씬 빨리 그것을 집어 들었어야 했어. – Qix