誰かが作ったリポジトリをダウンロードして使うには以下のようにする。
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でダウンロードするのが良いが,その方法はここでは省略。
ダウンロードしたファイルをいじるときには,まず,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等)一覧を表示する