0
0

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】GitLab間でブランチだけ移行する方法

Last updated at Posted at 2025-12-10

先日から新しいプロジェクトに参加することになりました。

元々は保守業務で利用していた GitLab のリポジトリをクローンし、ローカルブランチを作って作業を進めていたのですが、急遽「新しい GitLab を作ったので、今後はそちらにコミットしてほしい」と言われてしまいました。

ローカルに大量の変更があったので、「これ全部消えたらどうしよう…」と一瞬ヒヤッとしましたが、意外と簡単に移行できたので備忘録として残しておきます。
なお、以下はすべてコマンドでの操作になります。

0. 前提(ローカルブランチの作成と push)

GitLab間の移行手順に入る前に、“ローカルブランチ作成” と “リモートへの push” の基本手順を軽くまとめます。

0-1. ローカルブランチの作成

まずローカルブランチの作成方法を記載します。
以下のコマンドで、ローカルブランチの作成、作成したブランチへのチェックアウトが完了します。

git checkout -b 作成するブランチ名

ブランチがちゃんと作成されたか確認しておきましょう。
これはローカルブランチの一覧を見れるコマンドです。

git branch

0-2. ローカルブランチをリモートにpush

リモートにpushするコマンドです。

git push -u origin 作成したブランチ名

問題なくリモートにpushされたか確認しておきましょう。

git branch -r

リモートとローカルの両方のブランチを一覧で見たい場合は以下のコマンドです。

git branch -a

1. 新 GitLab を “別リモート” として登録

新しい GitLab を 別リモートとして追加することで、同じローカルリポジトリから複数の GitLab に push できるようになります。
まず、移行したいブランチが移行元 GitLab に push 済みであることを確認してください(まだの場合は 0-2 を参照)。
その後、移行先GitLabを別リモートとして登録します。
新GitLabのURLは、クローンする際のHTTPSのURLを使ってくださいね。

git remote add new-origin <新GitLabのURL>

登録されたリモートは以下で確認できます。

git remote -v

2. ブランチを新GitLabへ push

さて、本題のGitLab間のブランチ移行方法です。
ブランチ名を指定してpushするだけです!
※移行先に同名ブランチがすでに存在する場合は --force が必要になる場合がありますが、上書きには十分ご注意ください。

git push new-origin 作成したブランチ名

例)feature/add-comments ブランチをpushする場合

git push new-origin feature/add-comments

以上です。めっちゃ簡単でした。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?