0

ここにgit初心者。

ローカルリポジトリに2つのブランチaとbがありました。だから私がするなら

git branch
*a
b

次に、誤って「git pull origin」を実行すると、大量のファイルがプルされ、ブランチaの作業環境が台無しになりました。

元に戻したかった。「gitpullorigin」を元に戻したかったのですが、どうすればいいですか?

「gitpullorigina」を試しましたが、何百ものファイルをマージすると、ファイルの大きなリストの後に次のメッセージが表示されます。

マージされていないファイルがあるため、プルできません。作業ツリーで修正してから、必要に応じて「git add / rm」を使用して解決をマークするか、「gitcommit-a」を使用してください。

「gitreset--hard」を試しましたが、作業したいファイルが表示されません。これを修正するにはどうすればよいですか?

役立つかもしれない情報の1つ:「gitpull origin」を実行する前は、「git log」への応答は私のチームのみのコミットでした(これはそのブランチでのみ機能していました)が、「gitpullorigin」を実行した後は「gitlog」は社内の全員のステータスです。

私を助けてください。ありがとう

4

3 に答える 3

3

リモートからの変更に加えてローカルの変更をリベースするようにプルを構成していない限り、プルを使用すると、リモートからのコミットと変更がマージされます。それ以上コミットを行わない限りHEAD、プル操作によって作成されたマージコミットで参照がポイントされたままになります。そのコミットには、マージ前の状態であったコミットと、マージ前のリモートブランチの状態であったコミットの2つの親があります。それらはそれぞれ名前HEAD^とで参照することができますHEAD^2

次を使用して、プルする前にローカル状態に戻すことができます。

git reset --hard HEAD^

これにより、追跡したファイルに対してコミットされていない変更がすべて吹き飛ばされます。保存したいようなものがある場合は、git stashそれらを保存するために使用できます。

git branch savepointリセットによって事態が悪化した場合に備えて、リセットを実行する前に実行して現在のステータスを保存することもお勧めします。

于 2012-12-04T00:42:03.460 に答える
2
于 2012-12-04T01:27:24.723 に答える
-1

waaaaayをリセットして、プルブランチを

git reset --hard HEAD^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

(さらにコミットを戻す必要がある場合は、さらに^を追加してください)

そして引っ張る

git pull origin a
于 2012-12-04T00:29:09.850 に答える