回答:
ファイルが変更されたがまだ追加(ステージング)されていない場合、それは純粋に「プライベート」であると私は信じています。
インデックスまたはHEADバージョンで上書きされた場合、GITで復元できないことを意味します(現在の作業のコピーがどこかにない場合)。
「プライベート」コンテンツは、現在のディレクトリでのみ表示できるコンテンツですが、Gitに登録されていません。
git checkout --
)変更された場合、その操作を(おそらくを介して)元に戻すことができると思いreflog
ます。それは間違った期待ですか?
git checkout folders/subfolders/file
、入力するfolder
つもりでしたが、すべての作業にアクセスして失った後、誤ってEnter キーを押しました。/は、キーボードのエンターから1cmで、キーボードのレイアウトが異なるマシンを頻繁に切り替えるため、指が新しい位置に慣れるまでに10〜15分かかることがよくあります。gitの本ではgitは作業を失わないための方法であると述べていますが、2018年にgitがファイルをゴミ箱に捨てるとは信じられません。
「プロフェッショナル」IDEを使用している場合は、ローカルの履歴からファイルを復元できる可能性があります。たとえばRubymineでは、ファイルを右クリックして、gitの変更とは関係なく変更の履歴を見ることができます。
Sublime Textのようなエディターで作業していて、問題のファイルがまだ開いている場合は、ctrl + zを押すと、gitチェックアウト前の状態に戻ります。
IDEのローカル履歴を確認します。
OS Xで開発していますか?Xcodeを使用していますか?あなたは幸運になりそうです!
qunguによるコメントで説明されているように、OS Xは、タイムマシンを使用していない場合でも、ファイルの自動保存されたバージョン履歴を保持します。
したがって、ステージングされていないローカルの変更を不注意git checkout .
に吹き飛ばしてしまった場合は、ここでおそらくすべての作業を回復できます。
このスレッドがXCodeの一部の作業を破壊したことを誰かが見つけた場合、自動保存履歴を取得する方法があります。XCode自体には、自動保存履歴を表示するためのメニューエントリはありませんが、保存されます。問題のファイルをTextEditで開いた場合、[ファイル]> [元に戻す]で自動保存の履歴を元に戻して確認できます。
それはすごいことで、昨日、私の一日の仕事について回復しました。
あなたは尋ねるかもしれません、 のgitコマンドラインUIをしない理由、」ソフトウェア工学のために使用され最高のVCSを2016年 2017年 2018年2019年、少なくともファイルを吹き飛ばす前にバックアップしますか?同様に、ご存知のように、過去30年間のよく書かれたソフトウェアツールです。」
あるいは、「なぜこのめちゃくちゃ素晴らしいファイル履歴機能がTextEditでアクセスできるのに、実際に必要なXcodeでアクセスできないのですか?」
…そしてどちらも、私たちの業界についてかなりのことを教えてくれると思います。または、これらのツールを修正してください。どちらが素晴らしいでしょう。
Model
残念なことに私にとっては
VSCODEではctrl + z(元に戻す)がうまくいきました
私がやったgit checkout .
のではなくgit add .
、すべての私のファイルの変更は失われました。
しかし、今command + z
私のMacで使用して、変更を回復し、作業の調子を保存しました。
このような状況で効果的な救世主は、Time Machine(OS X)または同様の時間ベースのバックアップシステムです。戻ってその1つのファイルだけを復元できるので、数回節約されました。
ちょうどそれが起こって、私は何時間もの作業を含むフォルダ全体をチェックアウトしました!幸い、IDE Netbeansは各ファイルの履歴を保持しているため、手動でいくつか修正する必要があるにもかかわらず、99%のデータを回復できることがわかりました。
私は通常、すべての作業をDropboxフォルダに入れています。これにより、ローカルマシンとGithubの外で現在のフォルダーを使用できるようになります。これは、git以外の「バージョン管理」を保証するための私のもう1つのステップだと思います。これに従って、ファイルを以前のバージョンのDropboxファイルに戻すことができます
お役に立てれば。
おい、
私と同じようにあなたはとても幸運な人だとしましょう。エディタに戻って元に戻す(コマンド+ Z for Mac)を実行すると、失われたコンテンツがファイルに表示されます。お役に立てば幸いです。もちろん、これは既存のファイルに対してのみ機能します。
多分あなたの変更は失われません。「git reflog」を確認してください
以下の記事を引用します。
「基本的に、データが保存されているGitの内部で実行するすべてのアクションは、reflogの内部で見つけることができます。Gitはデータを失わないように本当に努力していますが、ます。 git reflogの使用」
詳細を見る:
http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html
git reflog
ここで言及する価値があると思います。元に戻すことを探していたときに、この答えを見つけましたgit checkout HEAD .
-入力するgit reset HEAD .
つもりでした-「git reset --soft HEAD〜1」を実行したばかりで、知らなかった約git reflog
私がやった仕事を取り戻すことができたので:)