0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【勉強用】Gitのコマンドを実際に動かしてみた(⑤リモートリポジトリ編)

0
Last updated at Posted at 2023-11-04

はじめに

今回はGitのコマンドを実際に動かして、バージョンの確認や変更について理解を深めたいと思います。参考図書はこちらの動かして学ぶ!Git入門を使用しました。

image.png

コマンド

30. git remote add リモート名 リポジトリ名

このコマンドは、リモートリポジトリとやり取りするときに使用するコマンドです。

Git Bash
$git remote add origin https://github.com/ユーザ名/リポジトリ名

originはリモートリポジトリにリモート付与した仮の名前であり、自由に決定できます。

リモートが正しく登録されたかはgit romote -vで確認できます。

Git Bash
$git remote -v
origin https://github.com/ユーザ名/リポジトリ名 (fetch)
origin https://github.com/ユーザ名/リポジトリ名 (push)

31. git push

このコマンドはリモートリポジトリにデータを送る際に使用するコマンドです。

Git Bash
git push リモート ブランチ名

32. リモート追跡ブランチの扱い

リモート追跡ブランチリモートブランチの位置を記憶する特殊なローカルブランチです。ローカルリポジトリから、リモートリポジトリにプッシュするとブランチが作成されます。それと同時に、ローカルリポジトリの同じ場所にorigin/ブランチ名のようにリモート追跡ブランチが作成されます。これはリモートリポジトリにプッシュするたびに位置が更新されます。

リモート追跡ブランチの一覧を見るにはgit branch -rを使用します。

Git Bash
$git branch -r
origin/main

コミットの情報も表示したい際には、-vオプションも追加します。

Git Bash
$git branch -r -v
origin/main ac512ae first commit

ローカルとリモートとの差を確認したい場合はgit diff リモート追跡ブランチ名 ブランチ名で確認できます。

Git Bash
git diff origin/main main

ここで注意したいのが、リモートリポジトリを参照しているわけではなく、あくまでローカルリポジトリにあるコミットを参照しているということです。

33. git clone

このコマンドは他人のリポジトリや、空ではない既に作成されたリモートリポジトリをローカルリポジトリにコピーしたい際に使用するコマンドです。

Git Bash
$git clone リモートリポジトリのURL

また、クローンを行うとリモートリポジトリはoriginという名前のリモートとしてローカルリポジトリから自動的に参照できるようになります。すなわち、git remote add origin ~を自動的に実行してくれます。

34. git fetch

プロジェクト開発において、他のメンバーがローカルリポジトリを更新し、自分のローカルリポジトリとは異なる状態になることは頻繁にあります。そのため、ローカルリポジトリの内容をリモートリポジトリにプッシュする処理をgit fetchで行っています。

Git Bash
$git fetch origin main

ここで注意したいのが、ローカルのmainの位置は変更されず、リモート追跡ブランチorigin/mainのみが変更されます。

35. リモートの変更を反映

上記の34. git fetchで行ったgit fetchでリモートの変更をローカルに継ぎ足ししました。次に行うのはその変更をマージすることです。

Git Bash
git checkout main
git merge --ff--only origin/main

--ff--onlyオプションを追加することで早送りマージのみを指定できます。これにより、ほかのリモート追跡ブランチとのマージをある程度避けることができます。

36. git pull

34.35.でリモートの変更をローカルに反映するには、フェッチをしてから早送りマージをするという手順を行っていました。これを一度に行ってくれるコマンドがgit pullです。

Git Bash
$git checkout main
$git pull origin main

まとめ

今回の記事では、リモートリポジトリの扱いについてを中心に学習しました。次回は履歴の操作について学習したいと思います。

前回:【勉強用】Gitのコマンドを実際に動かしてみた(④タグ編)
次回:【勉強用】Gitのコマンドを実際に動かしてみた(⑥履歴の操作編)

参考文献

動かして学ぶ!Git入門

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?