私はgit clean
とgit reset
について読んだことがありますが、私は彼らが私の必要とすることはしないと思います。私はgit pull
を試しましたが、問題を解決しませんでした(結果はAlready up-to-date.
)ローカルのgitリポジトリには、削除されたファイル、リモートファイル、「ステージングされていません」があります。
私のリモートリポジトリはgithubです。
旧式のPCから私のすべてのレールプロジェクトを新しいMacにコピーしました。新しいMacには、動作するレール開発環境もあります。
他のすべてはうまく動いていましたが、何とかして、多くのdb/migrationファイルがローカルにありません。 (いいえアイデアは、なぜ...他に何が不足していない。)
Iディレクトリにcd
と私は同じことを見git status
実行すると:とにかく
# On branch master
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: db/migrate/20110330064532_init_user_guids.rb
# deleted: db/migrate/20110330065055_init_master_report_key.rb
# deleted: db/migrate/20110331001956_create_recurly_accts.rb
は、私が引っ張ってくるコマンドを探していますリモート(起点)からローカルへの欠落している(ステージングされていない+削除された)すべてのファイルを、sqliteデータベースなどのローカルに追跡されていないファイルを削除することなく削除します。
削除が「unstaged」なので、ローカルgitリポジトリからそれらを復元するgitコマンドですか?
(私は...私は交換する必要があるものだけで不足しているファイルを他のunstaged変更がないことを追加する必要があります。)
すばらしい説明、ありがとう。私を混乱させたものは、git checkout(ファイルごとのファイル)を使用していると書かれたドキュメントがたくさんありました。しかし、このケースでは、それらをすべて置き換える方法があるように思われました(他に変更が加えられていない場合)。ありがとう! – jpwynn
@jpwynn 'git checkout'はインデックスから、または特定のリビジョンから個々のファイルやフォルダをチェックアウトできます。したがって、 'git checkout'の同等物は実際には' git checkout - .'であり、現在のディレクトリ全体をインデックスからチェックアウトします。 –