32

私は枝に取り組んできました。リモートリポジトリにコミットしてプッシュしました。現在、そのブランチのいくつかのファイルが欠落しています。うまくいけば、それらはまだリモートブランチで利用できるので、私はやろうとしましたgit pull:

git pull origin feature/my_branch

ただし、git は、すべてがリモートと同期されていると述べています。

 * branch            feature/my_branch -> FETCH_HEAD
Already up-to-date.

どうすれば最新の状態にできますか? 不足しているファイルをローカルで見つけることができず、不足しているファイルが原因でプロジェクトがコンパイルされませんでした。これらのファイルは、bitbucket のリモート ブランチのコミット履歴で確認できます。

4

2 に答える 2

33

git pullgit fetchは aとのシーケンスに対応しgit mergeます。そのため、ローカル リポジトリからファイルを削除しても、 を実行してもファイルは復元git pull されません。

それらを復元するには、次を使用してリモートリポジトリからそのファイルをチェックアウトする必要があります。

git checkout <branch name> -- <path/to/file>

<branch name>ローカルまたはリモートにすることができます。

例: リモート リポジトリの使用

  1. リモート アップストリーム名: origin
  2. リモートブランチ: feature/xpto
  3. ローカル ブランチ: feature/xpto
  4. ローカル ブランチにファイルがありません: example.js
  5. ファイルをリモート ブランチからローカル ブランチに復元します。 git checkout origin/feature/xpto -- example.js
  6. これexample.jsで、ローカル ブランチに戻りました

例 2: コミットをロールバックする

  1. git log
  2. 現在のコミット ハッシュ7bb2154cf23b68feb0a0bbbd95446f2cd8bf3a44
  3. このコミット ハッシュにロールバックしたいdbc04c23b2c6f2dd7bc9b5ef4aef22611a57c3ad
    • git checkout dbc04c23b2c6f2dd7bc9b5ef4aef22611a57c3ad
  4. example.js上記のコミット ハッシュからの みファイルを復元したい
    • git checkout dbc04c23b2c6f2dd7bc9b5ef4aef22611a57c3ad -- example.js
于 2013-05-29T01:15:58.690 に答える