私はブランチ(つまりdesign
)で作業しており、いくつかの変更を加えましたが、それらをすべて破棄し、リポジトリのバージョンに合わせてリセットする必要があります。 git checkout design
がやると思っていましたが、すでにブランチdesign
にいて、3つの変更されたファイルがあることを教えてくれます。
これらの変更を破棄して、リモートサーバー上に現在存在するブランチを取得するにはどうすればよいですか?
注:CANNOT UNDO this。
git checkout -f
を試してください。これは、ALLブランチとマスターでコミットされたnotローカル変更を破棄します。
git reset --hardは、最後のコミット以降すべてを破棄したい場合に役立ちます
design
のany変更が不要で、リモートのブランチに一致することを確実に望む場合は、ブランチを削除することもできます。そしてそれを再作成します:
# Switch to some branch other than design
$ git br -D design
$ git co -b design Origin/design # Will set up design to track Origin's design branch
git diff master > branch.diff
git apply --reverse branch.diff
@Will、 gitimmerment は本当に素晴らしくシンプルなgitチュートリアルです。ステージングなし、ステージング済み、コミット済みの場合に変更を元に戻す方法を示します。ラボ14〜18
ソースルート:git reset ./ HEAD <--un-stage any staged changes git checkout ./ <--discard any unstaged changes
ローカルブランチの変更を破棄する場合、git stashコマンドを使用してこれらの変更をスタッシュできます。
git stash save "some_name"
変更は保存され、必要に応じて後で取得したり、削除したりできます。これを実行すると、ブランチにはコミットされていないコードがなくなり、git pullを使用してメインブランチから最新のコードをプルできます。
git checkout -f
あなたの質問にはこれで十分です。一度行われるのは、それだけです。元に戻すことはできません。