2017-04-21 3 views
-1

この問題は既にこのWebサイトで確認されています。しかし、まだ、私は正しい解決策を見つけることができませんでした。与えられた 一つの解決策は、GITの使用中に、単一のローカルファイルを最新のリポジトリの内容で上書きするには

git reset --hard origin/master 

をuse-することである。しかし、私は私の単一のファイルのためにそれをしなければならない場合は、これを使用するかどうかは非常に確認していません。これは私にとっては非常に基本的な質問ですが、私は多くの問題を抱えています。ファイルchild.javaでファイルが拡張されたため、ローカルのファイルparent.javaにほとんど変更を加えませんでした。しかし、明日、誰かがparent.javaを変更し、今は最新のparent.javachild.javaに使用しなければならないので、最新のリポジトリファイルを使用してparent.javaファイルを上書きすることは困難です。

+0

'git reset --hard origin/master 'は作業ツリーのすべてを' origin/master'ブランチのファイルで置き換えます。あなたが必要とするものではありません。 'git checkout origin/master-file'が必要です。 'file'を上書きしたいファイルへのパスに置き換えてください。 – axiac

答えて

0

この場合、手動で変更をマージする必要があります。プルを取って自分のブランチを作成して作業し、後でステージングで変更をコミットし、作成した場所からあなたのブランチをリモートでプッシュし、リモートでブランチをプッシュすることもできます。

+0

は非常に具体的に私のquetionを編集しました。その文脈でもっと説明していただけますか? – theanubhava

0

もう1つの答えは、あなたのブランチにマスターをマージすることです。

例:この時点で

git checkout master 
git fetch 
git reset --hard origin/master 
git checkout <yourbranch> 
git merge master 

あなたが解決しなければならない紛争を有していてもよく、そうでない場合、あなたは次のようになります:

  1. parent.javaはに更新されますマスターのバージョン
  2. child.javaはまだその中に変更があります
関連する問題