[解決済み] 既存のGitリポジトリから新しいGitリポジトリを作成する方法
質問
私はリモート git リポジトリを持っており、それは私たちが別の古い SCM で持っていたすべてを本当に置き換えたものです。多くのプロジェクトと製品が、何年にもわたってリポジトリに追加されてきました。
このリポジトリには、私が興味を抱いている製品に対応するブランチがあります。 私はこのブランチのみから真新しい git リポジトリを作成したいのですが、歴史の損失についてはあまり気にしていません。
git remote add は解決策になりますか? 私は、これらのリポジトリの両方が同じサーバー上にあることを望んでいます。
どうでしょうか?
どのように解決するのですか?
既存のリポジトリから新しい Git リポジトリを作るには、通常、新しい を作成します。 リポジトリを作成し、既存のリポジトリから新しいリポジトリにブランチをプッシュします。
次の手順で説明します。
-
新しいリポジトリを作成します。それは、必ず 裸 でなければなりません。
$ mkdir /path/to/new_repo $ cd /path/to/new_repo $ git --bare init
備考 : 新しいリポジトリが既存のリポジトリからアクセス可能であることを確認してください。これを行うには多くの方法がありますが、ここでは
ssh://my_host/new_repo
. -
既存のリポジトリからブランチをプッシュします。たとえば、次のようなブランチをプッシュするとします。
topic1
というブランチを既存のリポジトリからプッシュし、その名前をmaster
と名付けます。$ cd /path/to/existing_repo $ git push ssh://my_host/new_repo +topic1:master
この手法により、既存のブランチからの履歴を保持することができます。
注意: 新しいリポジトリは、事実上、新しい
リモート
リポジトリになります。新しいリポジトリで作業したい場合は、リポジトリをクローンする必要があります。以下は、新しいレポジトリをローカルの作業ディレクトリ
new_repo
:
$ git clone ssh://my_host/new_repo
この例では、新しいリポジトリをクローンする際に
master
ブランチは
topic1
ブランチをコピーします。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルの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 実装 サイバーパンク風ボタン
おすすめ
-
Gitで「このリポジトリでは別のgitプロセスが実行されているようです...」と表示される問題
-
致命的 リモートレフマスターが見つからない
-
Git error: cannot spawn ssh.の回避策。そのようなファイルやディレクトリはありません
-
コミットには何も追加されないが、未追跡のファイルが存在する解決策
-
git のコンパイルとインストールの問題を解決する fatal: https のリモートヘルパーが見つからない
-
[解決済み] GitHubで、既存のレポを追加するときにすべてのブランチをプッシュするにはどうしたらいいですか?
-
[解決済み] バージョン管理には、なぜタグとリリース/ベータブランチを使い分ける必要があるのでしょうか?
-
[解決済み] Git: リモートブランチの情報を更新する
-
[解決済み] GitHub: フォークを "自分のプロジェクト "にする
-
[解決済み] git add --patch' で新しいファイルをインクルードする?