1

Git を使用して大規模な Web サイト プロジェクトに取り組んでいる多くの開発者がいました。GitHub リポジトリがあり、サーバーに Web サイトがあり、すべての開発者がローカル バージョンを持っています。

最終的にプロジェクトを立ち上げたとき、私は怠け者になり (頭を下げて恥をかいて)、サーバーに直接変更を加え始めました。変更を Github リポジトリにプッシュすることはありませんでした。ただし、他の人がレポに変更を加えましたが、理由はよくわかりませんが、サーバーにプッシュされることはなく、古いか間違っています。私たちはこれをほぼ7か月間行っています。

現在、サーバーとレポは絶望的に同期していません。サイト (サーバー) の最新バージョンを Git リポジトリにバックアップして、別の開発ラウンドを開始したいと考えています。私は基本的に、サーバー上にあるものの新しいコピーから始めたいと思っています。

どのように進めることをお勧めしますか? それが私がGitを使った初めての時でした。当時はそれほど大したことではなかったのですが、今思うと再始動は難しいようです。

説明書を探しましたが、実際に適合するものはありません。私は自分の Git スキルにあまり自信がないので、見つけたいくつかのアイデアを試してみて、サーバー上にあるものを失うことを恐れています。

(本当にめちゃくちゃになった場合はバックアップから復元できることは知っていますが、サイトがダウンする可能性があるため、そうしないことをお勧めします。)

git をアンインストールして、新しいリポジトリでやり直すことはできますか? または、現在のバージョンをリポジトリにプッシュする安全な方法はありますか?

ご協力いただきありがとうございます。

更新: この回答は別の場所で見つかりました (問題、wiki などを保持しながら GitHub リポジトリを置き換えます) が、これを行う方法がわかりません:

  • 「新しい」リポジトリにcdします
  • git remote add origin git@github.com:myusername/myrepository (それに応じて myusername と myrepository を置き換えます)
  • git push --force オリジン マスター
  • 他のリモート ブランチを削除し、新しいブランチをプッシュする可能性があります。

「新しいリポジトリ」の意味がわからない

4

2 に答える 2

0

私はこれを理解しました。私がしたことは:

  1. Github に新しいブランチを作成して、バックアップを効果的に保存します。
  2. $ git add . すべての変更をステージングする
  3. $ git commit -m "Commit message" 変更をコミットする
  4. $ git push --force オリジン マスター がサーバーからリモート ブランチ マスターへの変更を強制する

これを実行すると、リモートの github.com リポジトリに反映されていない、サーバー上で削除した何百ものファイルがまだ残っていました。私は以下を使用しました:

$ git rm $(git ls-files --deleted)

ディスクからすでに削除されている Git リポジトリから複数のファイルを削除するを参照してください。

その後、git commit と git push を繰り返しました。これで、私の github リポジトリがサーバーと完全に一致するようになりました。

githubで作成した「バックアップ」ブランチをまだ削除していませんが、削除します。

それが誰かを助けることを願っています。

于 2013-11-14T13:13:37.050 に答える