선형 커밋 내역에 커밋이 있습니다. 어떤 시점에서 테스트에 유용했지만 프로덕션에 있어서는 안되는 기능을 추가했습니다. 그 기능을 가진 testing
브랜치를 나눠 쓰고 싶지만 나중에 master
에 testing
을 리베이스 할 수 있기를 원합니다. 그래서 내 현재 커밋 보면 같은 :Git이 기능을 제거하지만 다른 브랜치는 그대로 유지
A-B-C-D-E
내 솔루션 또 다른 기능을 제거하는 F
master
에 커밋 추가 할 수 있었다.을 그런 다음 F
커밋 지점 testing
를 작성하고 복귀 :
# Do work to remove feature
git commit -a -m "F"
git checkout -b testing
git revert master
이제 커밋의 나 역사는 다음과 같습니다 F'
이 F
의 복귀이다
A-B-C-D-E-F (master)
\
F' (testing)
.
이렇게하는 것이 가장 좋은 방법입니까? 제가 누락 된 것이 더 쉬울 수 있습니까?
OP는 여전히이 기술로'master'에'testing'을 rebase 할 수 있습니까? – bfontaine
네, 왜냐하면 이것의 끝에'testing'은'master'와 스택 맨 위의 하나 커밋입니다. – dillius
불행하게도이 문제는 역사상 서로가 아닌 여러 커밋의 결과입니다. 이 솔루션은 또한 코드를 체크 아웃하고 다시 병합하고자하는 다른 모든 사람들을 망쳐 놓습니다. 좋은 대안이긴하지만 그 중 하나를 신경 쓰지 않는다면 - upvoted. – Alex