2

私は現在、大きなeコマースプラットフォームの変更に取り組んでいます

プロジェクトを開始する前に大量の初期開発が行われていましたが、いずれもバージョン管理されていなかったため、ファイル履歴はありません。

これまでに行われたすべての作業の全体像を構築するために、プラットフォームのクリーンインストールから開始し、gitバージョン管理の下で以前のすべての変更を少しずつマージしました。

これで、ソフトウェアのほぼ同一のコピーが2つあります。1つは動作中の開発サーバーで、もう1つは変更履歴のあるローカルリポジトリです。

すでに存在するものを混乱させることなく、サーバー上の作業コピーにリポジトリのクローンを作成したいと思います。

開発サーバーをワイプしてローカルリポジトリのクローンを作成するというアイデアは好きではありません。もっと良い方法はありますか?

4

2 に答える 2

0

開発サーバーに移動して実行git initし、そこにあるルートをgitリポジトリに変換できます。この時点で、変更をプッシュすることができます(または、他の場所からプルすることができます。これはおそらくより良いルートです)。これにより、作成した履歴にアクセスできるようになります。この時点で履歴が存在すると仮定すると、この履歴に基づいてブランチを作成するorigin/masterようなことができます。そして最後に、作業コピーを変更せずに、実行して新しいものを表示できます。git branch master origin/mastermastergit reset masterHEADmaster

この時点で、それらはほぼ同一であると言ったので、開発サーバーはgit上で実行されているはずです。コミットされていない変更は、開発サーバーのバージョンと新しく構築されたバージョンの違いを表しています。

于 2012-04-05T00:15:47.553 に答える
0

リポジトリをベアリポジトリに複製できます。

git clone --bare /path/to/repo.git

これにより、「repo.git」という名前のリポジトリが作成されます。これは、ベアリポジトリフォルダです。このフォルダを/path/ to / devserver/にコピーできます。例:

mv repo.git /path/to/devserver/.git

これで、リポジトリとdevserverファイルが同じ場所にあります。git statusと入力すると、一部のファイルが変更されていることがわかります。すべてをそのままステージングしてコミットすると、古い履歴と元のリポジトリと現在の開発サーバーコードの違いである1つのコミットがあります。 。

于 2012-04-05T00:16:22.957 に答える