言語化の練習

プログラマの日記です。プログラミング・読書感想・雑談が中心です。楽しく働くためにどうしたらよいか日々試行錯誤しています。

git clone --mirrorについて調べてみた

Gitリポジトリを移行する際にgit clone --mirrorコマンドを使いました。
既存のGitリポジトリをAWS CodeCommitへ移行する - 言語化の練習

本来よくありませんが、上記コマンドの意味を正確に理解せずに、AWSのユーザーガイドに従ってコマンドを実行しました。
意味を理解せずにコマンドやコードを引用することは危険なので、事後ではありますが調べてみました。

以下、公式ドキュメントより引用
Git - git-clone Documentation

--mirror

Set up a mirror of the source repository.  
This implies --bare.  
Compared to --bare, --mirror not only maps local branches of the source to local branches of the target, it maps all refs (including remote-tracking branches, notes etc.)   
and sets up a refspec configuration such that all these refs are overwritten by a git remote update in the target repository.

Google翻訳を元に意訳

ソースリポジトリのミラーをセットアップします。   
これは --bare を意味します。  
--bareと比較して、--mirrorは、ソースのローカルブランチをターゲットのローカルブランチにマップするだけでなく、すべてのリファレンス(リモート追跡ブランチ、notesなどを含む)をマップし、  
refspec設定をセットアップして、これらのすべてのリファレンス ターゲットリポジトリ内のgit remote updateによって上書きされます。

bareリポジトリワークスペースが存在しない更新管理用のリポジトリ
bareリポジトリだと追跡ブランチの情報などが残らない。
Gitリポジトリの移行をする際はコメントやブランチの遷移を残しておきたいので、mirrorリポジトリを移行する。

既存のGitリポジトリをAWS CodeCommitへ移行する

Bitbucketで管理しているGitリポジトリAWS CodeCommitへ移行しました。 基本的にはAWSのユーザーガイドを読めばすんなり移行することができました。 AWSの公式ドキュメントの素晴らしさとGitの柔軟性に感動!

Git リポジトリを AWS CodeCommit に移行 - AWS CodeCommit

以下、少し調べたこと。

git clone --mirror

リポジトリを丸々コピーする? ワーキングディレクトリが存在しないbareリポジトリのような状態 + リモートリポジトリの追従関係も追える? 調べても自分の言葉に落とし込めずorz

AWSのリージョン名とその英名

AWS CodeCommit のリージョンと Git 接続エンドポイント - AWS CodeCommit