Gitで管理されていない、すべてのファイルの最新の正しいバージョンがあると確信している、稼働中のライブWebサイトがあります。表向きはそのサイト用の Bitbucket Git リポジトリもありますが、大きな問題があり、古いものがあります。
私がやりたいことはgit init
、ライブファイルをリモートにプッシュして、最終的なリモートHEAD状態がライブファイルの状態とまったく同じになるようにするだけでなく、リモートコミット履歴がそのまま残るようにすることです。
ライブ作業ツリーが別の状態にならないように、これを行いたいと思います。私は新しいブランチを作成し、マスターをリモートでプルし、それらを強制的にマージすることなどを考えましたが、私が知る限り、マスターブランチをチェックアウトして、それらの短い瞬間のためにライブファイルを台無しにする必要がありますすべてが正しく行われたと仮定して、マージ前とマージ中に。
また、ファイルを FTP 送信して、ローカル コンピューターですべての競合/マージを解決し、そこから Bitbucket にプッシュして、ライブ リポジトリにプルダウンすることも考えました。しかし、それは信頼性が低く、危険でもあります。
このようなライブ コードを操作してはならないことはわかっていますが、これは私が陥った状況であり、それを機能させるための最も簡単で安全な方法が欲しいだけです。
(これは重複した質問だと思いますが、私の Google-fu は失敗しています。以前の回答に誘導するときは優しくしてください。)