{"meta":{"title":"リモートリポジトリから変更を取得する","intro":"一般的な Git コマンドを使用して、リモートリポジトリにアクセスできます。","product":"概要","breadcrumbs":[{"href":"/ja/get-started","title":"概要"},{"href":"/ja/get-started/using-git","title":"Git の使用"},{"href":"/ja/get-started/using-git/getting-changes-from-a-remote-repository","title":"リモートから変更を取得する"}],"documentType":"article"},"body":"# リモートリポジトリから変更を取得する\n\n一般的な Git コマンドを使用して、リモートリポジトリにアクセスできます。\n\n## 変更を取得するためのオプション\n\nこれらのコマンドは[リモート リポジトリ](/ja/get-started/git-basics/about-remote-repositories)とやりとりするときに非常に便利です。\n`clone` と `fetch` はリポジトリのリモート URL からローカル コンピューターにリモート コードをダウンロードし、`merge` は異なる人の作業と自分のものを一緒にマージするために使い、`pull` は `fetch` と `merge` を組み合わせたものです。\n\n## リポジトリをクローンする\n\n他のユーザーのリポジトリの完全なコピーを取得するには、`git clone` を次のように使います。\n\n```shell\n$ git clone https://github.com/USERNAME/REPOSITORY.git\n# Clones a repository to your computer\n```\n\nリポジトリをクローンするときに、[複数の異なる URL](/ja/get-started/git-basics/about-remote-repositories) から選びます。\nGitHubにログインした状態で、<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-code\" aria-label=\"code\" role=\"img\"><path d=\"m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z\"></path></svg> をクリックすると、リポジトリのメインページでこれらの URL を利用できます。\n\n![リポジトリのメイン ページのスクリーンショット。 緑色の \\[Code\\] ボタンがオレンジ色の枠線で囲まれています。また、展開されてリポジトリの HTTPS URL が表示されています。](/assets/images/help/repository/remotes-url-global-nav-update.png)\n\n`git clone` を実行すると、次のアクションが発生します。\n\n* `repo` という新しいフォルダーが作成される\n* Git リポジトリとして初期化される\n* クローン元の URL を指す `origin` という名前のリモートが作成される\n* リポジトリのファイルとコミットすべてがそこにダウンロードされる\n* デフォルトブランチをチェックアウトする。\n\nリモート リポジトリの各ブランチ `foo` について、対応するリモート追跡ブランチ `refs/remotes/origin/foo` がローカル リポジトリに作成されます。 このようなリモート追跡ブランチの名前は、通常 `origin/foo` と省略できます。\n\n## リモートリポジトリから変更を取得します\n\n他のユーザーが行った新しい作業を取得するには、`git fetch` を使います。 リポジトリからフェッチすると、すべての新しいリモート追跡ブランチとタグが取得され、かつ、それらの変更は自分のブランチへマージ *されません*。\n\n目的のプロジェクト用にリモート URL が設定されたローカル リポジトリが既にある場合、ターミナルで `git fetch *remotename*` を使うことで、すべての新しい情報を取得できます。\n\n```shell\n$ git fetch REMOTE-NAME\n# Fetches updates made to a remote repository\n```\n\nそれ以外の場合は、常に新しいリモートを追加してからフェッチすることができます。 詳しくは、「[リモートリポジトリを管理する](/ja/get-started/git-basics/managing-remote-repositories)」をご覧ください。\n\n## ローカルブランチに変更をマージする\n\nマージとは、あなたのローカルでの変更を他のユーザによる変更と結合させる処理です。\n\n通常、リモート追跡ブランチ (リモートリポジトリからフェッチされたブランチ) をローカルのブランチとマージします。\n\n```shell\n$ git merge REMOTE-NAME/BRANCH-NAME\n# Merges updates made online with your local work\n```\n\n## リモートリポジトリから変更をプルする\n\n`git pull` は、`git fetch` と `git merge` の両方を同じコマンドで完了させる便利なショートカットです。\n\n```shell\n$ git pull REMOTE-NAME BRANCH-NAME\n# Grabs online updates and merges them with your local work\n```\n\n`pull` は、取得された変更のマージを実行するため、`pull` コマンドの実行前にローカルの作業がコミットされていることを確認する必要があります。\n[マージ コンフリクト](/ja/pull-requests/how-tos/merge-and-close-pull-requests/resolving-a-merge-conflict-using-the-command-line)が発生しても解決できない場合、またはマージを中止する場合、`git merge --abort` を使ってブランチをプルする前の状態に戻すことができます。\n\n## 参考資料\n\n* [\n  *Pro Git* の「リモートの操作」](https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes)\n* [接続問題のトラブルシューティング](/ja/get-started/using-github/troubleshooting-connectivity-problems)"}