Git リポジトリをリモートにリンクするための手順

GitGitBeginner
オンラインで実践に進む

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチュートリアルでは、ローカルの Git リポジトリをリモートリポジトリにリンクする手順を案内します。リモートを追加する方法、ローカルの変更をリモートにプッシュする方法、およびローカルとリモートのリポジトリを同期する方法を学びます。Git の初心者であるか、ワークフローを改善したい場合でも、この git のリモート追加に関するステップバイステップガイドは、コードを効果的に管理し、他の人と協力するのに役立ちます。

Git リポジトリの基本

Git リポジトリとは何ですか?

Git リポジトリは、プロジェクトファイルとそのリビジョン履歴が保存されるデジタルストレージ場所です。複数の開発者がプロジェクトで協力し、変更を追跡し、バージョン管理を行うことができます。

Git リポジトリの主要なコンポーネント

  • 作業ディレクトリ (Working Directory):コンピュータ上のローカルディレクトリで、プロジェクトファイルを編集および保存する場所です。
  • ステージングエリア (Staging Area):変更をリポジトリにコミットする前に準備する場所です。
  • リポジトリ (Repository):プロジェクトの完全な履歴(すべてのファイル、コミット、ブランチを含む)を保存する.git フォルダです。

Git リポジトリの作成

新しい Git リポジトリを作成するには、ターミナルで以下のコマンドを使用できます。

git init

これにより、現在の作業ディレクトリに新しい.git フォルダが作成され、空の Git リポジトリが初期化されます。

既存のリポジトリのクローン

すでに Git リポジトリがあるプロジェクトで作業したい場合は、以下のコマンドを使用してローカルマシンに「クローン」できます。

git clone <repository-url>

これにより、コンピュータ上にリモートリポジトリのローカルコピーが作成され、プロジェクトファイルで作業できるようになります。

ファイルの変更追跡

Git を使用すると、プロジェクトファイルの変更を追跡できます。以下のコマンドを使用して、リポジトリ内のファイルを追加、変更、および削除できます。

git add <file-name>    ## コミットするファイルをステージングする
git commit -m "Commit message"  ## ステージングされた変更をコミットする
git rm <file-name>     ## リポジトリからファイルを削除する

これらのコマンドは、時間の経過に伴うプロジェクトの進化を管理するのに役立ちます。

ブランチングとマージ

Git のブランチモデルを使用すると、別々の開発ラインを作成および管理できます。以下のコマンドを使用してブランチを操作できます。

git branch <branch-name>  ## 新しいブランチを作成する
git checkout <branch-name>  ## 別のブランチに切り替える
git merge <branch-name>  ## ブランチを現在のブランチにマージする

ブランチングとマージは、共同開発やプロジェクト内のさまざまな機能やバグ修正を管理するために不可欠です。

ローカルリポジトリをリモートリポジトリにリンクする

リモートリポジトリについて

リモートリポジトリは、GitHub、GitLab、または Bitbucket などのリモートサーバー上にホストされている Git リポジトリです。ローカルリポジトリをリモートリポジトリにリンクすることで、他の人と協力したり、コードをバックアップしたり、ローカルとリモートのリポジトリ間で変更を同期したりすることができます。

ローカルリポジトリをリモートリポジトリに接続する

ローカルリポジトリをリモートリポジトリに接続するには、以下の手順に従ってください。

  1. リモートホスティングプラットフォーム(例:GitHub、GitLab、Bitbucket)で新しいリポジトリを作成します。

  2. リモートリポジトリの URL をコピーします。

  3. ローカルリポジトリで、以下のコマンドを使用してリモートリポジトリを追加します。

    git remote add origin <remote-repository-url>

    このコマンドは、ローカルリポジトリをリモートリポジトリに関連付け、デフォルトのリモート名として「origin」を使用します。

  4. 以下のコマンドを実行して、リモート接続を確認します。

    git remote -v

    これにより、リモートリポジトリの URL が表示されます。

ローカルの変更をリモートにプッシュする

ローカルリポジトリをリモートにリンクした後、以下のコマンドを使用してローカルの変更をリモートリポジトリにプッシュできます。

git push -u origin master

このコマンドは、ローカルリポジトリの master ブランチを origin リモートリポジトリにプッシュします。-u フラグはアップストリームブランチを設定するため、将来の git push コマンドはリモートとブランチを指定せずに実行できます。

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

リモートリポジトリがあるプロジェクトで作業したい場合は、以下のコマンドを使用してリポジトリをローカルマシンにクローンできます。

git clone <remote-repository-url>

これにより、すべてのファイル、ブランチ、コミット履歴を含むリモートリポジトリのローカルコピーが作成されます。

リモートリポジトリを設定する

以下のコマンドを使用して、リモートリポジトリを管理できます。

git remote add <remote-name> <remote-repository-url>  ## 新しいリモートを追加する
git remote rename <old-name> <new-name>              ## リモートの名前を変更する
git remote remove <remote-name>                      ## リモートを削除する

これらのコマンドを使用すると、リモートリポジトリを効果的に整理および管理できます。

ローカルとリモートの変更を同期する

リモートの変更を取得する

リモートリポジトリの最新の変更でローカルリポジトリを更新するには、git pull コマンドを使用できます。

git pull

このコマンドは、リモートリポジトリから最新の変更を取得し、それらをローカルリポジトリにマージします。ローカルの変更とリモートの変更の間に競合がある場合は、手動で解決する必要があります。

ローカルの変更をプッシュする

ローカルリポジトリに変更を加えた後、git push コマンドを使用してそれらの変更をリモートリポジトリにプッシュできます。

git push

このコマンドは、ローカルのコミットをリモートリポジトリにアップロードし、他の共同作業者が利用できるようにします。

競合の解決

ローカルの変更をプッシュしようとすると、Git は最後に取得して以来リモートリポジトリが更新されたことを検出する場合があります。これにより、解決する必要がある競合が発生することがあります。競合を解決するには、以下の手順に従ってください。

  1. まず、リモートリポジトリから最新の変更を取得します。

    git pull
  2. Git は自動的に変更をマージしようとします。競合がある場合、Git はファイル内の競合する部分をマークします。

  3. ファイルを編集し、どの変更を保持するかを選択することで、競合を解決します。

  4. 競合を解決した後、解決したファイルをステージングエリアに追加します。

    git add <conflicted-files>
  5. 解決した競合をコミットします。

    git commit -m "Resolve merge conflicts"
  6. 最後に、変更をリモートリポジトリにプッシュします。

    git push

リポジトリを同期した状態に保つ

ローカルリポジトリとリモートリポジトリを同期した状態に保つには、以下のワークフローに従ってください。

  1. 作業を開始する前に、リモートリポジトリから最新の変更を取得します。

    git pull
  2. 変更を加え、それらをローカルリポジトリにコミットします。

    git add .
    git commit -m "My changes"
  3. ローカルの変更をリモートリポジトリにプッシュします。

    git push
  4. 必要に応じて手順 1 - 3 を繰り返し、ローカルリポジトリとリモートリポジトリを同期した状態に保ちます。

このワークフローに従うことで、ローカルリポジトリとリモートリポジトリが常に最新の状態に保たれ、変更がチームと正常に共有されることを保証できます。

まとめ

このチュートリアルで概説した手順に従うことで、ローカルの Git リポジトリをリモートリポジトリに正常にリンクすることができます。これにより、コードを共有し、他の人と協力し、作業内容をバックアップし、複数の場所からアクセスできるようにすることができます。このガイドで学んだ Git のリモート追加に関するスキルは、Git の専門知識を深め、ソフトウェア開発のワークフローを合理化していく上で非常に貴重なものになります。