🐡

git cloneしたものをそのまま自分のリポジトリにpushする

2023/05/08に公開

はじめに

git cloneしたときにgit initしたりcommitしようとしたが変更が出ないなどで少しハマったので、備忘録として投稿します。

目標

ローカルでgit cloneし、作成したリモートリポジトリにgit push
→clone対象をそのまま自分のリポジトリに持ってくる

前提

リモートリポジトリは作成済

手順

1. git clone

クローンしたいディレクトリに作成・移動してgit cloneを実行する
※cloneしたタイミングでgit initされるので、個別にgit initする必要はありません

mkdir <ディレクトリA>
cd <ディレクトリA>
git clone <対象のリポジトリURL>

2. 自分のリポジトリをリモートに追加

そのままgit remote add originすると error: remote origin already exists. と言われることがあります。これはclone元のリポジトリのoriginも自動的に設定されるためです
なので git remote set-url 自分のリポジトリのURL とすることで、そのURLでoriginを上書きすることができます

git remote set-url origin <自分のリポジトリのURL>

git remote -v                                                                
origin  <自分のリポジトリのURL> (fetch)
origin  <自分のリポジトリのURL> (push)

3. push

ローカルでcloneしてから変更がない場合、commitすることなくそのままgit pushできます
※変更がある場合にはcommitが必要です

git push origin <ブランチ名>

参考

https://git-scm.com/docs/git-clone

Discussion