ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2020-11-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

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

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

ここには以下の内容があります:

これらのコマンドはリモートリポジトリの操作時に非常に便利です。 clone および fetch は、リポジトリのリモート URL からお使いのローカルのコンピュータにリモートコードをダウンロードします。merge は、他のユーザの作業を自分のものとマージするために使用します。pull は、fetchmerge の組み合わせです。

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

他のユーザのリポジトリの完全なコピーを取得するには、以下のように git clone を使用します:

$ git clone https://hostname/ユーザ名/REPOSITORY.git
# リポジトリを自分のコンピュータにクローン

リポジトリのクローン時は、複数の異なる 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
# リモートリポジトリへの更新をフェッチする

または、いつでも新しいリモートを追加してその後フェッチすることもできます。

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

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

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

$ git merge remotename/branchname
# オンラインで行われた更新をローカル作業にマージする

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

git pull は、git fetchgit merge を 1 つのコマンドで実行できる便利なショートカットです:

$ git pull remotename branchname
# オンライン更新をローカル作業にマージ

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

参考リンク