Gitバージョン管理(サブフォルダ.git
)の下にあるMyDirectory
のコピーを作成してコミットすると、これはバージョン履歴などの小さなリポジトリのようにすべて「動作しますか?Gitリポジトリをバックアップに置き換えることはできますか?
これまでのMyDirectory
をこのコピーに置き換えてそのまま使用できますか?
背景: 私のGitのレポはすべて汚れてしまった。前の日のディレクトリ全体のディレクトリのバックアップに置き換えて、そこから移動したいと思っています。
Gitバージョン管理(サブフォルダ.git
)の下にあるMyDirectory
のコピーを作成してコミットすると、これはバージョン履歴などの小さなリポジトリのようにすべて「動作しますか?Gitリポジトリをバックアップに置き換えることはできますか?
これまでのMyDirectory
をこのコピーに置き換えてそのまま使用できますか?
背景: 私のGitのレポはすべて汚れてしまった。前の日のディレクトリ全体のディレクトリのバックアップに置き換えて、そこから移動したいと思っています。
はい、これを行うことができますし、問題はありません。
バージョン履歴を管理するためにGitが必要とするものはすべて、.git
フォルダにあります。したがって、そのフォルダをそのフォルダの古いバージョンに置き換えると、その古い状態に戻ることになります。 git checkout
またはgit revert
でGitロールバックを実行しているとは異なり、は、以後レポに追加されたすべての履歴を失います。
@Danh suggestedのように、バックアップを復元する前に、既存のバージョンのフォルダを削除する必要があります。 (実際には、Gitオブジェクトは不変なので、これが必要かどうかは分かりませんが、それは傷ついてはいけません)。既存のバージョンのフォルダからデータを失わないようにしたい場合は、名前を変更してバックアップを復元します。
「すべてがうまくいった」という意味に応じて、バックアップからリストアせずにリカバリすることは可能です(特に、--force
のような「危険な」コマンドを実行していない場合)。助けが必要な場合は、search aroundまたはask hereまでお気軽にお問い合わせください。
「git checkout」はなぜ昨日のバージョンではないのですか? – Danh
とにかく、バックアップと交換する前に完全に取り外す必要があります – Danh