개발관련/Git

특정 파일의 변경 사항 만 git-cherry-pick하는 방법

Rateye 2021. 8. 9. 10:31
728x90
반응형
질문 : 특정 파일의 변경 사항 만 git-cherry-pick하는 방법은 무엇입니까?

Git 브랜치에 병합하려면 여러 파일에 대한 변경 사항을 포함하는 특정 커밋에서 변경된 일부 파일에만 적용된 변경 사항을 어떻게 수행 할 수 있습니까?

힘내을 가정하는 것이라고 커밋 stuff 파일에 대한 변경이 , A B , CD 하지만 난 단지 병합 할 stuff 의 파일을 변경 와 A B . git cherry-pick 의 작업처럼 들리지만 cherry-pick 은 파일의 하위 집합이 아닌 전체 커밋을 병합하는 방법 만 알고 있습니다.

답변

커밋하기 전에 결과를 검사 (수정) 할 수있는 cherry-pick -n ( --no-commit

git cherry-pick -n <commit>

# unstage modifications you don't want to keep, and remove the
# modifications from the work tree as well.
# this does work recursively!
git checkout HEAD <path>

# commit; the message will have been stored for you by cherry-pick
git commit

대부분의 수정이 원하지 않는 경우 개별 경로 (중간 단계)를 확인하는 대신 모든 것을 다시 재설정 한 다음 원하는 항목을 추가 할 수 있습니다.

# unstage everything
git reset HEAD

# stage the modifications you do want
git add <path>

# make the work tree match the index
# (do this from the top level of the repo)
git checkout .
출처 : https://stackoverflow.com/questions/5717026/how-to-git-cherry-pick-only-changes-to-certain-files
728x90
반응형