Options for getting changes
これらのコマンドはリモートリポジトリの操作時に非常に便利です。 clone および fetch は、リポジトリのリモート URL からお使いのローカルのコンピュータにリモートコードをダウンロードします。merge は、他のユーザの作業を自分のものとマージするために使用します。pull は、fetch と merge の組み合わせです。
リポジトリをクローンする
他のユーザのリポジトリの完全なコピーを取得するには、以下のように git clone を使用します:
$ git clone https://hostname/ユーザ名/REPOSITORY.git
# リポジトリを自分のコンピュータにクローン
リポジトリのクローン時は、複数の異なる URL から選択できます。 GitHubにログインした状態である間は、これらの URL はリポジトリの詳細の下に表示されます:

git clone を実行すると、以下のアクションが発生します:
repoと呼ばれる新たなフォルダが作成される- Git リポジトリとして初期化される
- クローン元の URL を指す
originという名前のリモートが作成される - リポジトリのファイルとコミットすべてがそこにダウンロードされる
- デフォルトブランチがチェックアウトされる
リモートリポジトリ内の各ブランチの foo と、対応するリモート追跡ブランチである refs/remotes/origin/foo がローカルのリポジトリに作成されます。 このようなリモート追跡ブランチの名前は、通常 origin/foo と省略できます。
リモートリポジトリから変更をフェッチする
git fetch を使用して、他のユーザによる新たな作業成果を取得できます。 リポジトリからフェッチすると、すべての新しいリモート追跡ブランチとタグが取得され、かつ、それらの変更は自分のブランチへマージされません。
If you already have a local repository with a remote URL set up for the desired project, you can grab all the new information by using git fetch *remotename* in the terminal:
$ git fetch remotename
# リモートリポジトリへの更新をフェッチする
Otherwise, you can always add a new remote and then fetch. For more information, see "Managing remote repositories."
ローカルブランチに変更をマージする
マージとは、あなたのローカルでの変更を他のユーザによる変更と結合させる処理です。
通常、リモート追跡ブランチ (リモートリポジトリからフェッチされたブランチ) をローカルのブランチとマージします。
$ git merge remotename/branchname
# オンラインで行われた更新をローカル作業にマージする
リモートリポジトリから変更をプルする
git pull は、git fetch と git merge を 1 つのコマンドで実行できる便利なショートカットです:
$ git pull remotename branchname
# オンライン更新をローカル作業にマージ
pull は、取得された変更のマージを実行するため、pull コマンドの実行前にローカルの作業がコミットされていることを確認する必要があります。 解決できないマージコンフリクトが発生した場合、あるいはマージを中止したい場合は、git merge --abort を使用して、プルを行う前の状態にブランチを戻すことができます。

