2016-07-18 2 views
1

나는 포크에서 수행 한 몇 가지 변경 사항이 포함 된 프로젝트에서 gitub에 대한 gitub에 대한 pull 요청을 열었습니다. 이제 이전 커밋에서 단일 파일의 한 줄에 몇 가지 변경 사항을 되돌려 야합니다.커밋의 단일 파일에서 단일 행으로 되돌리기

+-------+ +------+ +------+ +------+ 
|pullreq+<--+commit+<--+commit+<--+commit| 
+-------+ +------+ +--+---+ +------+ 
         ^
      +-------------+--------------+ 
      |1 some other peoples code | 
    undo-->+2   my changes  | 
      |3 some other peoples code | 
    undo-->+4   my changes  | 
      |5   my code   | 
      +----------------------------+ 

이미 커미트 된 변경 사항의 단일 행에 대한 변경 사항을 되돌리려면 가장 쉬운 방법은 무엇입니까?

나는 또한 git blame으로 표시되는 다른 사람들의 수정 스탬프를 보존하려고합니다.

// 편집 : 나는 다음과 같은 원래 수정 스탬프를 보존하지 않습니다 테스트 한 :
foobar.sh, 나는 새로 변경된 기존에 추가 다른 사람들이 최선을 다하고 라인을 포함, 내가 필요 변경 한 단일 행의 변경 사항 되돌리기.

git clone https://github.com/user/somerepo 
cd somerepo 
git blame -L 10,20 foobar.sh 
nano foobar.sh 
git add foobar.sh 
git commit 
git blame -L 10,20 foobar.sh 
nano foobar.sh 
git add foobar.sh 
git commit 
git blame -L 10,20 foobar.sh 

답변

1

는 단순히 새가 그 라인의 제거를 기록하는 커밋합니다.

PR 분기에서 푸시 할 수 있습니다. 푸시 요청의 일부입니다.

+0

귀하의 answear에 따르면, 나는 (질문에서 편집을 참조하십시오) 시도 했으므로, 내가 다른 사람이 그 라인에 마지막으로 변경 한 상태로 되돌리려 고 노력하고 있기 때문에 필요한만큼 효과가 없었습니다. – hub

+1

@hub 마지막 변경 한 사람이 누구인지는 중요하지 않습니다. 로컬 복제 된 저장소에서 올바른 변경 (행 추가/제거 또는 수정), 추가, 커밋 및 PR 지점으로 푸시. "되돌리기"는 오래된 변경 사항을 되돌 리거나 취소하는 새로운 커밋입니다. – VonC

관련 문제