2016-08-26 8 views
0

は私がここでの問題を説明してみましょう: - :私はfile1.tclを修正すでにGitのプッシュ前にコミットunneccesaryファイルを削除する方法

git checkout -b <newbranch>

2)

1)私は、新しいブランチを作成しました

3)別の2つの別々のファイルで作業しなければならなかったのですが、別のブランチを作成する必要がありましたが、間違いなく私は同じ<newbranch>で作業を開始し、両方をコミットしましたそのf同じブランチのile(file2.tclとfile3.tcl)

4)この時点で私は間違いを覚えました。私は別の新しいブランチを作成し、変更を加えました(ほんの僅かでした)file2.tclとfile3 .tclをここから引き出し、それらをコミットし、git pushをした。 file2.tclとfile3.tclに必要な変更が行われ、githubにプッシュされました

5)今度は<newbranch>に戻ります。ここからfile1.tclで行った変更をプッシュしたいのですが、問題は私は今、file1.tcl ... file2.tclと一緒にプッシュし、file3.tclもPUSHに入ることがわかります。だから私は何とか私に彼らが行くいけないように、私のgit-プッシュリストのうち、これらの2つのファイルを取るための簡単で安全な方法を提案してください私のgit-プッシュスタックの外に

[email protected](eRx)$ git diff --stat --cached origin/master 
eRx/lib/file1.tcl | 3348  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------- 
eRx/bin/file2.tcl | 1 - 
eRx/lib/file3.tcl | 75 +++--- 
3 files changed, 1978 insertions(+), 1446 deletions(-) 

をこれらの2つのファイルを取りたいですプッシュのみ1 file1.tclがプッシュ

答えて

0

に行くが、あなたが私の理解のgitから

git revert {commit-that-changed-file2.tcl} 
git revert {commit-that-changed-file3.tcl} 
git commit -m "undoing extra changes" 

を試してみましたが、ちょうどそれらのコミットの変更を元に戻すと、あなたがプッシュする前に、それらの変更を再コミットできるようにする必要があり、リモコンは影響を受けないようにしてください。

+0

最悪の場合、手動でファイルを変更してから再度コミットしてください – derelict

1

git reset --hard HEAD^1newbranchは、file2.tclとfile3.tclが変更されたコミットを削除します。今

  1. あなたは、他の2つのファイルの変更をコミットする必要がありますfile1.tclの変化と
  2. 第二分岐してコミットしなければなりません。
関連する問題