여기 상황이 있습니다. 나는 master
지점에서 일하고 있습니다. 나는 file1을 만들고 커밋한다. 나는 file2를 만들고 커밋한다. 오케이. 언젠가 file2를 사용하고 싶지만 master 브랜치에 넣어야하는 것은 아닙니다. 그래서 파일 2를 잃지 않아야합니다.git : 병합시 모든 로컬 변경 사항을 어떻게 덮어 쓰시겠습니까?
git checkout head~1
git branch new-branch
git checkout new-branch
그래서 개발을 계속할 수 있습니다. file3을 new-branch
에 추가합니다. 주의를 기울 였다면 "file1"과 "file2"가 포함 된 master
브랜치와 "file1"과 "file3"이 포함 된 new-branch
브랜치가 있습니다.
이제 master 브랜치에 적용한 변경 사항을 가져와야 할 때입니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 나는 브랜치의 헤드가 new-branch
에 나타나는 것처럼 파일을 가리 키길 바랄 뿐이지 만, 사용하고자하는 경우에 재설정을 수행하여 file2에서 수행 한 작업을 잃고 싶지는 않습니다.
이것은 단순화 된 것입니다. 단 3 개의 파일 대신 수십 줄의 코드가 여러 커밋으로 변경되었습니다. 필자는 솔루션이 파일 별 병합/체크 아웃을하지 않기를 바랄뿐입니다. 왜냐하면 그것이 큰 고통이 될 것이기 때문입니다.
아이디어가 있으십니까? 당신이 무엇을해야
당신은 "이게 내가 필요한 것 같아."라고 말했지만, 대답에서 지적한대로 지점을 바꾸려고 했습니까? – VonC
나는했다. Randal의 대답은 내 솔루션에 더 가깝습니다. 열쇠는'git reset -hard HEAD ~ 1'입니다. 하나의 명령으로 커밋 문자열을 재설정 할 수 있다는 것을 알지 못했습니다. 내가해야 할 일은 현재의 master 브랜치에서 분기 한 다음 다시 원래대로 돌아가는 것입니다. – kubi