📑

【Git入門】git pushの使い方(ローカルリポをリモートリポへ反映する)

2024/05/12に公開

0.はじめに

Git入門者向けに、git pushコマンドを使った「ローカルリポをリモートリポへ反映する方法」を解説します。

本記事の内容に沿って、ハンズオンいただくと以下を習得できます。

  • git pushの概要を理解できる
  • ローカルリポをリモートリポへ反映する方法を習得できる

では、次の章から具体的な解説を進めます!

1.git pushとは何か?

git pushとは、「ローカルリポジトリの変更をリモートリポジトリへ反映させる」コマンドです。

pushを実行すると、、、

  • リモートリポジトリに自分の変更履歴がアップロードされて
  • リモートリポジトリ内の変更履歴がローカルリポジトリと同じになり、
  • 他メンバーと変更履歴を共有できるようになります。

次章から、git pushコマンドの利用方法を解説します。

2.ローカルリポをリモートリポへ反映する

今回は以下図のように、リモートリポには「update-readme」ブランチがなく、更新したREADME.mdの情報もない状態を想定し、試していきます。

  • push前に一度リモートリポの内容をローカルリポに反映する(pull)
  • リモートリポにローカルリポの内容を反映する(push)

2.1.push前に一度リモートリポの内容をローカルリポに反映する(pull)

リモートリポの内容をローカルリポに反映しましょう。

以下の通り、「update-readme」 ブランチ上で作業を実施していきます。

$ git branch
  main
* update-readme
$

まず、どこからpullしてくればいいのかをgit remote -vで確認しましょう。

$ git remote -v 
origin  git@github.com:username/sample-repo.git (fetch)
origin  git@github.com:username/sample-repo.git (push)
$ 

上記の通り、「git@github.com:username/sample-repo.git」というリモートリポジトリと紐づいていることがわかります。

リモートリポにエイリアス名の「origin」を、ブランチ名に「main」を指定して、git pullコマンドを実行しましょう。

git pullコマンド使い方

$ git pull <リモートリポ> <ブランチ名>
※指定したリポから指定したブランチの情報を今自分が作業しているアクティブブランチに反映する
※実際にはfetchという処理とmergeという処理をしている。詳細を知りたい方は、参考サイトをご参照。
※リモートリポの名前(reference名)は、git remote -vで確認可能。通常はoriginを指定すればOK

$ git pull origin main

すると、以下のようにすでに最新の状態であることがわかります(個人でやっているので当然こうなります)。

$ git pull origin main
From github.com:username/sample-repo
 * branch            main       -> FETCH_HEAD
Already up to date.
$ 

これで、「pushする前のpullする」は完了です。

次章で、「リモートリポにローカルリポの内容を反映する方法」を見ていきます。

2.2.リモートリポにローカルリポの内容を反映する(push)

リモートリポにローカルリポの内容を反映してみます。

以下の通りgit pushコマンドを実行しましょう。

git pushコマンド使い方

$ git push <リモートリポ> <ブランチ名>
※指定したリポの指定したブランチに、アクティブブランチの情報を送信する
※リモートリポの名前(reference名)は、git remote -vで確認可能。通常はoriginを指定すればOK

$ git push origin update-readme

すると、以下のように表示されリモートリポへ反映が完了するはずです。

$ git push origin update-readme
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (3/3), 301 bytes | 301.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: 
remote: Create a pull request for 'update-readme' on GitHub by visiting:
remote:      https://github.com/username/sample-repo/pull/new/update-readme
remote: 
To github.com:username/sample-repo.git
 * [new branch]      update-readme -> update-readme
$

ブラウザでGitHubを開いて、「update-readme」ブランチが作成されていることを確認しましょう。

「リモートリポにローカルリポの内容を反映する方法」は以上となります。

3.おわりに

今回はgit pushの理解を深めるために、以下を学びました。

  • git pushの概要を理解できる
  • ローカルリポをリモートリポへ反映する方法を習得できる(git pullgit push

一回で覚えるのは難しいと思うので、何度かトライして覚えるで全然大丈夫です。

今後もGitの基本的なワークフローについて解説していきます。

おわりっ!

参考サイト

Discussion