Gitを不慣れたターミナルコマンドで操作した時のメモ。
同じ案件何だけど、Backlogのプロジェクトを年度別で立てて運用している時に、Gitを前年度から今年度に移したいって時です。
目次
❌やってはいけない事
前年度の既存リポジトリをエクスポート → 新年度の新リポジトリに新規でPush
ダメな理由
履歴が引き継がれない(そりゃそうだ)
✅ 正しい手順
- 前年度の既存リポジトリをローカルにclone
- 接続先に新リポジトリを登録(git remote add)
- 新リポジトリにpush
1.前年度の既存リポジトリをローカルにclone
リポジトリ名は master とします。
実行結果のログは参考までに。
# 作業フォルダに移動
$ cd work
# ローカルに既存リポジトリ(例 master)をクローンで落とす
$ git clone https://my.backlog.jp/git/{old-project}/master.git
# 出力ログ(参考)
Cloning into 'master'...
remote: Counting objects: 24736, done.
remote: Compressing objects: 100% (20907/20907), done.
remote: Total 24736 (delta 8483), reused 15278 (delta 2686)
Receiving objects: 100% (24736/24736), 914.20 MiB | 1.32 MiB/s, done.
Resolving deltas: 100% (8483/8483), done.
Checking connectivity... done.
Checking out files: 100% (28576/28576), done.
2.接続先に新リポジトリを登録(git remote add)
先にBacklogの新プロジェクトの方でGitを有効にし、新リポジトリ(例 master)を追加しておくこと
# クローンしたフォルダに移動
$ cd master
# 現在の接続先を確認
$git remote
origin
# 接続先に新プロジェクトの新リポジトリ(master)を追加する
$git remote add new-project-git https://my.backlog.jp/git/{new-project}/master.git
# 追加した接続先の確認
$ git remote
new-project-git
origin
3.新リポジトリにpush
git push {新しい接続先} {ブランチ名}
$ git push new-project-git master
# 出力ログ(参考)
Counting objects: 24732, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15115/15115), done.
Writing objects: 100% (24732/24732), 914.20 MiB | 3.54 MiB/s, done.
Total 24732 (delta 8480), reused 24725 (delta 8474)
To https://my.backlog.jp/git/{new-project}/master.git
* [new branch] master -> master
ログは参考程度に。
これで履歴を伴って、新プロジェクトにGitのリポジトリが移行できました。
システムの方にいつもやってもらっていたので、ディレクターでもこういうちょっとしたことぐらいはできるようにならないとですね。
baserCMSのプチ神こと @arataさん、アドバイスありがとうございました!

コメント