Git環境は初めてで、MacのSourceTreeでBitBucketを使用しています。ここでやりたいことは、最後のコミット以降の変更を破棄することです。どうすればいいですか? 「変更を破棄」のようなものを見つけていないし、最後のコミットから直接プルしてもうまくいかないようだ。 GUIまたはコマンドラインのいずれかを使用して行うソリューションが適切です。ありがとうございました。
使用したい
git stash
これにより、コミットされていないすべての変更が stash に保存されます。これらの変更を後で破棄する場合は、git stash drop
(または復元するにはgit stash pop
)だけを使用します。
これは技術的には変更を破棄する「適切な」方法ではありません(他の回答やコメントが指摘しているように)。
MacのSourceTreeで、破棄するファイルを右クリックします(作業ツリーのファイルリスト) 、およびResetを選択します。
WindowsのSourceTreeで、破棄するファイルを右クリック(Working Copy Changesリスト)、およびDiscardを選択します。
gitでは、次のようにします。
git reset --hard
は、バージョン管理されたファイルに加えられた変更を破棄します。
git clean -xdf
は、無視されたファイル(x
オプション)を含む新しい(ntracked)ファイルを消去します。 d
は追跡されていないディレクトリも削除し、f
は強制的に削除します。
ステージングされていないファイルで、右側の3つのドットをクリックします。クリックすると、Discard file
できるポップオーバーメニューが表示されます。
OK私はちょうど私の質問がすでに質問タイトルで回答されていることに気づきました。
ファイルのステージングを解除するには
git reset HEAD /file/name
そして、ファイルへの変更を元に戻すには
git checkout -- /file/name
フォルダー内にファイルのバッチがある場合は、フォルダー全体を元に戻すことができます
git checkout -- /folder/name
これらのすべてのコマンドは、git status
ここでは、ダミーリポジトリを作成し、3つの可能性すべてをリストしました。
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: test
#
# 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: test2
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# test3
Sourcetree guiで作業ディレクトリをクリックし、破棄するファイルを右クリックして、[破棄]をクリックします