私はいくつかの変更を行ったし、いくつかのファイルを編集した、今私はすべてを破棄したいとちょうど私がディスク上に持っていることは、元のリモートより他に何もないことを確認してくださいgitクローンリポジトリの "reset"コマンドとは何ですか?
git clone <address>
でリポジトリをダウンロードしていますコードベースのバージョン:正しいコマンドは何ですか?
私はいくつかの変更を行ったし、いくつかのファイルを編集した、今私はすべてを破棄したいとちょうど私がディスク上に持っていることは、元のリモートより他に何もないことを確認してくださいgitクローンリポジトリの "reset"コマンドとは何ですか?
git clone <address>
でリポジトリをダウンロードしていますコードベースのバージョン:正しいコマンドは何ですか?
はこれがないことであるリモートを原点
git reset --hard HEAD
git checkout origin/master
git branch -D master
git checkout -b master
と呼ばれていると仮定すると:それはなぜreset --hard
だ(ディスク上の任意の変更されたファイルを破棄
(オプションgitのステータスは何も変更されたファイルを言っていない場合) )
リモートマスターブランチをチェックアウトします(注: "デタッチヘッド"状態になります)
コールすなわち新しいmaster
ブランチ今
あなたはおそらくわずかに異なる何かをしたい...など、現在のヘッド(すべてのローカルの変更を捨てる)ローカルmaster
支店を削除しますあなたの変更を捨てたり、別の名前のブランチに入れたりしないでください...あなたが再びmy-silly-changes
と呼ばれる新しいローカルブランチの現在の変更を保存し、その後、master
と呼ばれる古いローカルブランチを削除し
git checkout -b my-silly-changes
git branch -D master
git checkout -b master origin/master
それらを必要がありますときに、すべての後にあなたが知っていることはありませんし、最終的にリモートヘッドからそれを再作成します。
origin/master
はあなたが指すようにしたいリモートブランチがあり、かつ
master
:
git branch --set-upstream-to=origin/master master
:
何もコミットしていない場合は、git reset --hard
で十分です。
Hereは、さまざまなモードでgitをリセットする方法を説明する良いリソースです(--hard、--mixed、--soft)。
免責事項:
git reset --hard
は危険な操作です。これは、作業ツリーからの未変換の変更をすべて削除し、元に戻すことはできません。
* "私はすべてを捨てて、ディスク上にあるものが元のリモートバージョンのコードベースであることを確認してください" * - 上記の方法はautoreconfで 'configure.ac'から生成された' configure'スクリプトのように、クローンの一部ではないファイルシステムにファイルを残してください。 Gitに任せて、簡単な作業をして、不可能にするのは難しいです。 – jww
あなたが特定されている場合は、すべてのファイルを破棄したい、とすべての変更を失う、あなたが行うことができます(!):
git reset --hard origin/master
これは「マスターのローカルコピーの状態をリセットします"あなたのアップストリーム(元のリモート)からフェッチした最後のバージョンに作業コピーをコピーします。
注:これは場合は、リモートmaster
ブランチ
のクローンで作業している
git clone
のデフォルト)git reset --hard origin/branch1
またに似何かをする必要があるかもしれません
はあなたが作業したいローカルブランチです
すべての未追跡のファイル(ビルドプロダクトなど)を取り除くには、 'git clean -xfd'も行うべきです。 –
クールはその1つを知らなかった –
最初の4つのコマンドは、間違いなく冗長です。あなたが 'master'にいる場合、' git reset -hard origin/master'は4つのコマンドと同じことを行います。それでも、ローカルブランチを作成するオプションについては+1しています。 – sleske