1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Gitリポジトリの統合

Posted at

はじめに

Gitの移行をしたいと思い,以下を参考にやってみました。
Gitレポジトリを移行する方法
ところが,この方法だと移行先のリポジトリに既にコミットがある場合,上書きされてしまいます。
そのため,移行先のリポジトリにコミットがあった場合でもそのコミットを残して移行できる方法を調べたので,その方法を備忘録として残したいと思います。

手順

  1. 移行先のリモートリポジトリを作成・ローカルにクローン
  2. リモートリポジトリに移行元のリポジトリを追加
  3. 移行元のリポジトリの内容をfetch
  4. 移行元のmasterブランチの内容を,移行先のmasterブランチにマージ
  5. 移行先のリポジトリをリモートにプッシュ

移行先のリポジトリをクローン

Github上で新規リポジトリを作成し,ローカルにクローン

$ git clone git@github.com:target-repository.git
$ cd target-repository

リモートリポジトリに移行元のリポジトリを追加

ローカルに存在している移行元のリポジトリをリモートリポジトリとして登録

$ git remote add source /path/to/source-repository

移行元のリポジトリの内容をfetch

移行元のリポジトリの内容を,fetchコマンドを用いて取得

$ git fetch source

移行元のmasterブランチの内容を,移行先のmasterブランチにマージ

$ git merge --allow-unrelated-histories source/master
  • --allow-unrelated-historiesオプションを用いることで,共通の祖先を持たないブランチ同士を強制的にマージすることができる

移行先のリポジトリをリモートにプッシュ

$ git push -u origin HEAD

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?