2016-12-23 1 views
1

모든 변경 사항은 이미 저장소로 푸시되었습니다. 이제 버그가 발생하여 developerX에서 수행 한 모든 변경 사항을 특정 커밋 (commitX - done to 15 일) 전에 롤백해야합니다.다른 모든 변경 사항을 유지하면서 개발자가 수행 한 변경 사항을 롤백하는 방법은 무엇입니까?

그러나 이것으로 commitX 이후 다른 모든 개발자가 수행 한 변경 사항을 보존해야합니다.

옵션 1 - commitX의 모든 파일을 체크 아웃 한 다음 이전 버전의 파일을 커밋합니다.

-하지만 몇 가지 새로운 파일이 추가되고 일부는 나중에 커밋 될 때 developerX에서 제거되며, 그 결과는 어떻게됩니까? 수동으로 원격/추가해야합니까?

더 좋은 방법이 있습니까?

답변

1

을 커밋 참조 :

당신이 당신의 주요 지점 (가능성이 master)에 현재있어 가정 : 변경 사항이 빠르게 전달하거나 마스터 지점에서 바로 수행 된 경우

git checkout -b revert-bad-changes 
git revert <hashOfMergeCommit> 
# push your branch, merge it into master, whatever your process is 

, 당신은 많은 커밋을 참조해야합니다 내가 n revert 명령 예 :

0
git revert <commitHash> 

이것은 목표 커밋을 되돌리기위한 새로운 커밋을 생성합니다. 바람직하지 않은 변경 (커밋 또는 적어도 비 빠르게 전달 병합) 끌어 오기 요청을 통해에 합병 된 경우

더 당신이 새로운 되돌리기를 만들 수 해시를 저지른 참조 할 수 있습니다, here

관련 문제