メンチカツには醤油でしょ!!

AWS/Java/Node.js/Spreadsheets/Docker/Jenkins/コミュニティ・勉強会レポを主とした技術系ブログ

Gitリポジトリをブランチ含めて引っ越す際の方法、または、ブランチ名を変更する方法

同じGit上の名称変更なら

Settings⇒Options⇒Repository name欄から変更できまっせ。(GitBucketも同様)

f:id:ryoichi0102:20160209125118j:plain

本稿は引っ越しについて書いています

たとえば
・社内GitBucket⇒社外GitHub
・社外GitHub⇒社内GitBucket
などのリポジトリの引っ越しの場合です。
移動できるのは
・コミットログ
・ブランチ
です。
・Issues、プルリク
Wiki
は移行できませんのであしからず。

移動前のリポジトリ

ブランチがありますね。これも移動します。

f:id:ryoichi0102:20160209125027j:plain

新規にcloneします

ここで既存リポジトリワークスペースを使用すると、
後で一括でリモートブランチを落としてくる所でエラってしまうので
新規がよいですね。

f:id:ryoichi0102:20160209125955j:plain

リモートブランチを一括で落とします

mnogu様が公開されているgit.shを利用します。

gist.github.com

気をつけるべき所は、Windowsでそのままコピペする場合(Cygwinユーザーなど)は
このファイルをUTF8(BOMナシ)、改行コードLFで保存しないと動かないことがあるみたいです。

f:id:ryoichi0102:20160209130020j:plain

シェルを実行します

bash 【シェル名】

です。

f:id:ryoichi0102:20160209130236j:plain

新規のリポジトリを用意します。
(すみません、キャプチャは同じGitHub上です)

f:id:ryoichi0102:20160209130321j:plain

remoteブランチを差し替えます

remote rm origin
remote add 【移行先のgit】

f:id:ryoichi0102:20160209130456j:plain

remoteへpushします。

push --all
push --tags

f:id:ryoichi0102:20160209130624j:plain

 

できあがり