Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

リモートリポジトリから変更を取得する

一般的な Git コマンドを使用して、リモートリポジトリにアクセスできます。

変更を取得するためのオプション

これらのコマンドはリモート リポジトリとやりとりするときに非常に便利です。 clonefetch はリポジトリのリモート URL からローカル コンピューターにリモート コードをダウンロードし、merge は異なる人の作業と自分のものを一緒にマージするために使い、pullfetchmerge を組み合わせたものです。

リポジトリをクローンする

他のユーザーのリポジトリの完全なコピーを取得するには、git clone を次のように使います。

$ git clone https://HOSTNAME/USERNAME/REPOSITORY.git
# Clones a repository to your computer

リポジトリをクローンするときに、複数の異なる URL から選びます。 GitHubにログインした状態である間は、これらの URL はリポジトリの詳細の下に表示されます:

リモート URL リスト

git clone を実行すると、次のアクションが発生します。

  • repo という新しいフォルダーが作成される
  • Git リポジトリとして初期化される
  • クローン元の URL を指す origin という名前のリモートが作成される
  • リポジトリのファイルとコミットすべてがそこにダウンロードされる
  • デフォルトブランチがチェックアウトされる

リモート リポジトリの各ブランチ foo について、対応するリモート追跡ブランチ refs/remotes/origin/foo がローカル リポジトリに作成されます。 このようなリモート追跡ブランチの名前は、通常 origin/foo と省略できます。

リモートリポジトリから変更をフェッチする

他のユーザーが行った新しい作業を取得するには、git fetch を使います。 リポジトリからフェッチすると、すべての新しいリモート追跡ブランチとタグが取得され、かつ、それらの変更は自分のブランチへマージ されません

目的のプロジェクト用にリモート URL が設定されたローカル リポジトリが既にある場合、ターミナルで git fetch *remotename* を使うことで、すべての新しい情報を取得できます。

$ git fetch remotename
# Fetches updates made to a remote repository

それ以外の場合は、常に新しいリモートを追加してからフェッチできます。 詳細については、「リモート リポジトリを管理する」を参照してください。

ローカルブランチに変更をマージする

マージとは、あなたのローカルでの変更を他のユーザによる変更と結合させる処理です。

通常、リモート追跡ブランチ (リモートリポジトリからフェッチされたブランチ) をローカルのブランチとマージします。

$ git merge remotename/branchname
# Merges updates made online with your local work

リモートリポジトリから変更をプルする

git pull は、git fetchgit merge の両方を同じコマンドで完了させる便利なショートカットです。

$ git pull remotename branchname
# Grabs online updates and merges them with your local work

pull は、取得された変更のマージを実行するため、pull コマンドの実行前にローカルの作業がコミットされていることを確認する必要があります。 マージ コンフリクトが発生しても解決できない場合、またはマージを中止する場合、git merge --abort を使ってブランチをプルする前の状態に戻すことができます。

参考資料