1
/
5

新しいGitリポジトリにコミット履歴を消した既存リポジトリ管理下のフォルダをコピーする方法について

概要

先日、既存プロジェクトをもとに、次のバージョンのプロジェクトを作成するタスクを任されたので、既存のものを新しいリポジトリにコピーして作業を進めていこうと思っています。その際に調べて試してみた手順を備忘録として残しておきます。

手順

既存のリポジトリをクローン

git clone リポジトリのurl

リモートリポジトリのurlを新しいリポジトリのものに変更

git remote set-url origin 新しいリポジトリのurl

新しいリモートリポジトリにプッシュ

git push origin 新しいリポジトリのurl

ここで、新しいリポジトリには既存プロジェクトのコミット履歴がすべて反映されてしまっているので、過去のコミットをリセットして1から始めていきます。

初回のコミットを削除

git update-ref -d HEAD

リモートリポジトリの内容を強制的に上書き

git push -f

ここで↓のエラーが出ます。

error: src refspec main does not main any
error: failed to push some refs to ‘https://github.com/.../.git’

対処法

git add .
git commit -m “something”
git push -f

いつもの要領でコミットまで行い、最後にfオプションでプッシュしておく。
fオプションがないとエラーが出ます。

これで新しいリモートリポジトリに、コミット履歴のない既存プロジェクトのコピーを管理できるようになりました。

参考

https://kitigai.hatenablog.com/entry/2019/08/06/003834
https://qiita.com/chimayu/items/3c21ddc597be4aa9de86
https://qiita.com/tokio_k_/items/a95229217ec7ea9186c5

株式会社ツナググループ・ホールディングス's job postings
2 Likes
2 Likes

Weekly ranking

Show other rankings