作業ツリーとインデックス内のコミットされていないすべての変更を元に戻し、また新しく作成されたファイルとフォルダを削除するgitコマンドはありますか?
これら2つのコマンドを実行できます。
# Revert changes to modified files.
git reset --hard
# Remove all untracked files and directories. (`-f` is `force`, `-d` is `remove directories`)
git clean -fd
現在の作業ディレクトリでのみ変更を元に戻したい場合は、
git checkout -- .
その前に、実際に何もしなくても元に戻されるファイルを一覧表示して、何が起こるかを確認するだけで済みます。
git checkout --
作業ディレクトリの変更を破棄するには "git checkout - ..."を使用してください。
git checkout -- app/views/posts/index.html.erb
または
git checkout -- *
gitステータスのステージングされていないファイルに加えられたすべての変更を削除します。
modified: app/controllers/posts.rb
modified: app/views/posts/index.html.erb
簡単な方法の1つは、これら2つのコマンドを実行することです。
git stash
これであなたの変更は隠された状態になり、HEADの状態に戻りますgit stash drop
最後のコマンドで作成した最新の隠し場所を削除します。git clean -fd
助けにはならなかった、新しいファイルが残った。私がしたことはすべての作業ツリーを完全に削除してから
git reset --hard
Cleanに-x
オプションを追加するためのアドバイスについては、 " git内のローカル作業ディレクトリをクリアするにはどうすればよいですか /"を参照してください。
git clean -fdx
注 -x
フラグはGitによって無視されたすべてのファイルを削除するので注意してください(私が言及した答えの中の議論を見てください)。
私はあなたが次のコマンドを使用することができると思います:git reset --hard
消えないように思われるファイルがまだあるかもしれないことに注意してください - それらは未編集かもしれませんがgitはCRLF/LFの変更のために編集中としてそれらをマークしたかもしれません。最近.gitattributes
に変更を加えたかどうかを確認してください。
私の場合、.gitattributes
ファイルにCRLF設定を追加しましたが、これによりすべてのファイルが「変更されたファイル」リストに残りました。 .gitattributes設定を変更すると、それらは消えました。
最新のコミットでコピーに戻したい、コミットされていない変更(作業コピー内のみ)がある場合は、以下を実行してください。
git checkout filename
Git 2.13では、作業ツリーファイルを復元するgit restore
コマンドが導入されました。
https://git-scm.com/docs/git-restore
現在のディレクトリ内のすべてのファイルを復元するには
git restore。
インデックス内のバージョンと一致するようにすべてのCソースファイルを復元する場合は、次のようにします。
git restore '* .c'
次のgitコマンドを使用すると、リポジトリにコミットされていないすべての変更を元に戻すことができます。
git checkout .
例:
ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git status
On branch master
Your branch is up-to-date with 'Origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: application/controllers/Drivers.php
modified: application/views/drivers/add.php
modified: application/views/drivers/load_driver_info.php
modified: uploads/drivers/drivers.xlsx
no changes added to commit (use "git add" and/or "git commit -a")
ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git checkout .
ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git status
On branch master
Your branch is up-to-date with 'Origin/master'.
nothing to commit, working tree clean