リポジトリのダウンロード

誰かが作ったリポジトリをダウンロードして使うには以下のようにする。

1. リポジトリのダウンロード

GitHubにあるリモートリポジトリをhttps接続でダウンロードする場合は以下のコマンドで。(ただし,GitHub上のリポジトリ設定で若干異なる場合もある)

$ git clone https://github.com/someone/somerepo.git

上記URLのsomeone, someprepoの部分はダウンロードしたいリポジトリによって変わる。 例えば,私が作っているC/C++用グラフィックライブラリなら以下のようにダウンロードする。

$ git clone https://github.com/jnishii/jgr.git

ただし,private repository(非公開リポジトリ)の場合には,以下のようにGitHubのアカウント情報を加える。

$ git clone https://<username>@github.com/someone/somerepo.git

ただし,この方法はパスワードを平打ちするのであまり良くない。 本当はSSH keyを登録して sshでダウンロードするのが良いが,その方法はここでは省略。

2. 最新情報のダウンロード/更新ファイルのアップロード

ダウンロードしたファイルをいじるときには,まず,Gitサーバから最新バージョンをダウンロードしてから開始。

$ git pull origin master

これはサーバ(origin)から,masterブランチ(ブランチは後述)をダウンロードしてローカルリポジトリを更新し(fetch),作業ディレクトリに反映(merge)するという意味。

ファイルを更新したら,gitサーバ(origin)にアップロードする。

$ git add <更新したファイル名>
$ git commit -m “修正点を少し書く”    <=ローカルリポジトリ(手元)に登録
$ git push origin master           <=リモートリポジトリに反映

とりあえず,これで最低限のファイル共有/共同編集はできる。

git addは,更新したファイルのうち,リモートリポジトリに反映したいファイルを指定(stagingとよぶ。これにより対象ファイルはstaging areaに移動)する。指定方法は以下のようにいろいろある。

  • git add . 新規作成ファイルと更新ファイルを全部指定
  • git add -u 前回から更新したファイルのみ指定(新規作成ファイルは含まない)
  • git add -A .新規作成ファイル,更新ファイル,削除ファイル全部指定

ただし,リモートリポジトリは,知らないヒトが勝手に’git push’で書き換えたりできるとよくないので,アクセス制限をできるようになっている。アクセス制限がかかっているリモートリポジトリの内容の修正をリクエストするにはPullRequestをする(後述)。

関連コマンド

  • git reset <ファイル名> 間違えてgit addしたファイルの取り消し(stagingの取り消し)
  • git status 現在のファイルの状態(staging等)一覧を表示する