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?

複数の Git repository の履歴を保持したまま 1つの Git repository を統合する

Last updated at Posted at 2024-09-30

はじめに

  • Git repository の履歴を保持したまま複数の repository を1つにまとめる作業をした
  • 自身の作業ログ扱いだが履歴として残しておく

Git repository の統合

  • repo1, repo2 を repo にまとめる
.
├── repo
| └ .git
├── repo1
| └ .git
└── repo2
  └ .git

となっているのを

.
└── repo
  └ .git
  └ repo1
  └ repo2

に変更する

### 手順

  • repo 内に repo1 ディレクトリを作成、何かしらのファイルを作成しておく
    • 今回作成したファイルは .gitkeep とした
  • remote に移行元を追加、fetch しておく
  • git merge --allow-unrelated-histories -X で merge する
cd repo
git co -b import-repo1
mkdir repo1
touch repo1/.gitkeep
git remote add import-repo1 git@github.com:mziyut/repo1.git
git fetch import-repo1
git merge --allow-unrelated-histories -X subtree=repo1 import-repo1/master
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?