2

私はgitに問題がありますプルを作成するとき、私の問題は次のとおりです。

git pull origin example

そこまでPerfect!!、それから私は

rm -Rf rootdirectory

それで

git commit -am "Delete files"

そして、このファイルが必要なので、もう一度プルを行います

git pull origin example

しかし、ルートディレクトリを再び取得することはありません

これはメッセージです:

Already up-to-date.

もう一度 git pull でファイルを取得するにはどうすればよいですか?

4

4 に答える 4

7

git pull が何も変更しない理由は、リモート リポジトリからデータをプルしているのではなく、変更をプルしているためです。そして、git がプルする変更はありません!

Git はデータ ストアではありません。バージョン管理システムです

ただし、以前の状態をチェックアウトしたい場合は、簡単に実行できます。

git checkout HEAD~1

これは、作業コピーを最新のコミット前の以前の状態にリセットしていることを意味します。

ただし、ファイルを削除したコミットを完全に削除したい場合は、それも実行できます。

git reset --hard HEAD~1
于 2012-07-23T14:14:18.433 に答える
3

ファイルを削除してから を実行すると、ファイルが再作成される Subversion に慣れていると思いますsvn updateか? 私も。

git ではgit checkout、リポジトリからファイルを持ち出す必要があります。を使用してファイルを更新することもできgit reset --hardますが、これを行うと、作業ディレクトリ内の変更が消去されます。

于 2012-07-23T14:15:11.020 に答える
2

これがgitの仕組みです。変更をプルorigin/exampleしてコミットした後 (「ファイルの削除」)、ローカル リポジトリはorigin/masterその 1 つのコミットよりも前になります。

A---B---C  origin/master
         \
          D  master

DあなたのDelete filesコミットはどこにありますか。ローカルリポジトリにプルできる新しいコミットがないため、別のものgit pullが提供されます。Already up-to-dateorigin/master

「ファイルを再度取得する」には、最後のコミットを元に戻すことができます。

git checkout HEAD~1

または、リモート リポジトリと一致するようにローカル リポジトリをリセットすることもできます。

git reset --hard origin/master
于 2012-07-23T14:31:07.420 に答える
1

ファイルが削除されたディレクトリに移動し、目的のブランチにいることを確認して、「git checkout 」と入力します。これにより、現在のブランチで削除したファイルが復元されます。

于 2015-10-27T14:43:09.353 に答える