4

私は iOS プロジェクトを github にセットアップしましたが、ここ数日で、ほとんどのコードをリファクタリングする必要があることに気付き始めました。MVC の多くの基本に従わないプロジェクトをビルドしましたが、戻ってすべてを修正したいと考えています。

主な問題は、プロジェクトが十分に大きく、リファクタリングが大きな苦痛になることです。とにかく、新しいプロジェクトを開始し、現在のプロジェクトがある場所にビルドして (明らかにいくつかの主要な設計変更を加えて)、それを元のプロジェクトではなく同じブランチに github にプッシュすることはできますか? これが明確でない場合は、私に知らせてください。

4

5 に答える 5

10

あなたの古い歴史を維持したいというあなたの願望を考えれば、私は与えられた答えを少し拡張します。この場合、新しいリポジトリを開始する必要はありません。古いデータを「マンハンドリング」し、古いデータを消去して新しいデータを追加するだけです。これは、次の手順で実行できます。

  1. プロジェクトディレクトリのルートにcdします。
  2. 不要なものはすべてファイルシステムから削除してください。.git/フォルダーを残すように注意してください。これがリポジトリの以前の履歴です。
  3. 必要な新しいもの(新しいXcodeプロジェクト、ディレクトリ構造など)を追加します。
  4. コミットする準備ができたらgit status、削除と追加のかなりの混乱(サイズは以前持っていたファイルの数によって異なります)が表示されます。それは大丈夫です、これはあなたがこれらのすべてのエントリに広いブラシをかけるところですgit add --all .。これにより、リポジトリ内のすべて、削除、新規追加、すべてがステージングされます。
  5. git commit -m "My new beginning"
  6. git push origin myBranch --force

出来上がり!リポジトリは完全に作り直され、以前の履歴を保持するという追加のボーナスがあります。

于 2013-02-04T19:33:00.123 に答える
3

あなたはできる。新しいプロジェクトを作成し、次のコマンドをコマンド ライン インターフェイス (Windows では cmd、Linux ではターミナル) に入力するだけです。

cd /path/to/project
git remote add origin git@github.com:username/repo.git
git push origin master --force

それはそれを行う必要があります。

于 2013-02-03T02:53:36.707 に答える
0

GitHub で新しいプロジェクトを作成し、 .git/config で URL を新しいリポジトリに変更できます

[remote "origin"]
   fetch = +refs/heads/*:refs/remotes/origin/*
   url = git@github.com:[yourname]/[yournewrepo]
于 2013-02-03T02:51:27.780 に答える