Help us understand the problem. What is going on with this article?

GitHub のリポジトリを手作業でコピーする

GitHub というか Git のお話。

要約

コマンドラインを使った Git リポジトリのインポート をやります 1

経緯

GitHub でリポジトリをコピーする一番お手軽な方法は目当てのリポジトリで Fork ボタンをポチッと押すことです。
ただし、諸事情あってフォークできない (or したくない) 場合は GitHub Importer による自動インポート を試みることでしょう。
でもこれがめちゃんこ遅い…遅くない? (Spoon-Knife に対して自動インポートしたら 2時間くらいかかった。えぇ…)

自動で遅いなら手動だぜー!ということで手を動かしてごにょごにょやります。
今回はコピー元として Spoon-Knife リポジトリを参照します。

準備

コピーの前にコピー先のリポジトリを GitHub 上に作成しておきます。
New repository からやるいつものやつ です。
リポジトリ名だけ指定したら他の項目はデフォルトで OK です。
コピー元に合わせてリポジトリ名は Spoon-Knife とします。

リポジトリのコピー

GitHub 公式の手順を参考にしましょう。

リポジトリをコピーする
$ git clone --bare https://github.com/octocat/Spoon-Knife.git
$ cd ./Spoon-Knife.git
$ git push --mirror https://github.com/<username>/Spoon-Knife.git  # <username> は適宜読み替えのこと
$ cd ..
$ git clone https://github.com/<username>/Spoon-Knife.git

git push --mirror を終えたら Spoon-Knife.git は用済みなので、特に理由がなければ削除して構いません。

コピー後もコピー元の変更に追従したい場合はコピー元をリモートリポジトリに追加してもいいでしょう:

コピー元をリモートリポジトリに追加
$ cd ./Spoon-Knife
$ git remote add upstream https://github.com/octocat/Spoon-Knife.git

--bare なしで git clone した後にリモートリポジトリを差し替えて…というやり方もできますが、各ブランチを個別に反映する必要があるので少し面倒です。
丸ごとコピーするなら公式の手順でやるのが一番楽だと思います。

おしまり


  1. このリンクを貼るための踏み台記事と言っても過言ではない。 

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away