[解決済み】既存のレポのブランチから新しいGitHubレポを作成する方法とは?
質問
私は マスター と 新規プロジェクト ブランチを作成します。そして今度は、new-project ブランチをベースにしたマスターを持つ、まったく新しいレポを作成したいと思います。
背景 私は3つの独立したアプリケーションを含む1つのリポジトリを持っています。最初はこのような形ではなかったのです。元々、レポには1つのアプリしかありませんでした。しかし、時間の経過とともに、ビジネスニーズが変化してきました。1つのアプリが2つになり(レガシーバージョンと書き直し)、ウェブサービスが追加されました。3つのプロジェクトを格納するために、別々のブランチが使用されました。しかし、この3つのプロジェクトはコードを共有していません。だから、それぞれのレポに分割した方がシンプルになる。
解決方法は?
私は @user292677 さんのアイデアから始めて、私の問題を解決するためにそれを改良しました。
- を作成します。 新規レポ をgithubに登録します。
- を追跡するように設定されている、抽出したい古いレポのローカルコピーに cd してください。 新しいプロジェクト ブランチとなります。 新規レポ のマスターになります。
-
$ git push https://github.com/accountname/new-repo.git +new-project:master
新しいGithubのレポが完成しました。その結果は
- という名前の新しいGithubリポジトリが作成されました。 新規レポ ,
-
その
master
は、古いレポの 新規プロジェクト である。 - すべての履歴が保存されます。
実際、この方法を使えば、厳選したブランチを好きなようにリネームして新しいレポを作成できることがわかりました。
$ git push [email protected]:accountname/new_repo +new-project:master +site3a:rails3
その結果、既成の サイト3a ブランチも新しいレポに移動し、次のように表示されます。 レイルズ3 . これはとてもうまくいきます:ネットワーク図は、新しい マスター と レイルズ3 を、完全な履歴と、互いの正しい関係で表示します。
更新 2013-12-07: 別のプロジェクトでこれを使用し、このレシピがまだ動作することを確認しました。
更新 2018-01-11: 手順3.を更新し、GitHubが推奨するhttpsプロトコルを使用するようにしました。レシピはまだ動作します。
関連
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] GitHubでフォークされたリポジトリを更新または同期するにはどうすればよいですか?
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】既存のGitブランチをリモートブランチに追従させる?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [email protected] へのいくつかの参考文献のプッシュに失敗しました。
-
git commits with an error: 更新が拒否されました。現在のブランチの先端が、このブランチより後ろにあるためです。
-
gitコミット発生 ! [リモート拒否] master -> master (pre-receive hook declined) 解決策
-
[解決済み] [Solved] originにプッシュしようとすると、Gitが「No such remote 'origin'」と言うのはなぜですか?
-
[解決済み] 複数のgitコミットを元に戻すには?
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] Git作者不明
-
[解決済み] Git で単一のブランチをクローンする方法を教えてください。