728x90
반응형
질문 : 특정 파일의 변경 사항 만 git-cherry-pick하는 방법은 무엇입니까?
Git 브랜치에 병합하려면 여러 파일에 대한 변경 사항을 포함하는 특정 커밋에서 변경된 일부 파일에만 적용된 변경 사항을 어떻게 수행 할 수 있습니까?
힘내을 가정하는 것이라고 커밋 stuff
파일에 대한 변경이 , A
B
, C
및 D
하지만 난 단지 병합 할 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
반응형
'개발관련 > Git' 카테고리의 다른 글
Git으로 특정 태그 다운로드 (0) | 2021.08.10 |
---|---|
Visual Studio에서 Git 사용 (0) | 2021.08.09 |
.gitignore와 .gitkeep의 차이점 (0) | 2021.08.05 |
Unity3D 소스 제어에 Git을 사용하는 방법 (0) | 2021.08.05 |
원격 저장소로 푸시 된 Git에서 특정 커밋을 실행 취소 하는 방법 (0) | 2021.08.04 |