2016-07-18 31 views
1

私はgitの方が新しく、自分のフォークで行った変更を含むプロジェクトでgithubのプルリクエストをオープンしました。 これで、以前のコミットで1つのファイルの1行でいくつかの変更を元に戻す必要があります。コミットの単一ファイルで単一行でgitを復帰する

+-------+ +------+ +------+ +------+ 
|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   | 
      +----------------------------+ 

すでにコミットされた変更の1行に加えられた変更を元に戻す最も簡単な方法は何ですか?

私は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

あなたの答えによれば、私は(問題の編集を参照して)試してみました。私は、行の最後の変更が他の人によって行われた状態に戻そうとしているので、必要なときに機能しませんでした。 – hub

+1

@hub最後の変更を行った人は誰でも問題ありません。ローカルクローンリポジトリで、適切な変更(行の追加/削除または変更)、追加、コミット、PRブランチへのプッシュを行います。 「元に戻す」は、古い変更を元に戻す(取り消す)新しいコミットです(変更を行った人に関係なく) – VonC

関連する問題