GitコマンドとGitHub Desktopでのバージョン管理ガイド(操作の違い)

このガイドでは、GitコマンドとGitHub Desktopを使用したバージョン管理の基本的な操作について説明します。ソースコードの管理やチームとのコラボレーションを行うための手順を、一つずつ丁寧に解説しています。Gitコマンドラインの利用方法とGitHub Desktopを使った視覚的な操作、また必要に応じてターミナルを使った操作も含めて、バージョン管理の基本を幅広くカバーしています。


1. GitHub DesktopのメニューからGitコマンド入力をする方法

GitHub Desktopを使用している際に、特定の操作をコマンドラインから行いたい場合があります。このとき、GitHub Desktopから直接コマンドラインを開くことができます。

1.1 コマンドラインを開く手順

  1. GitHub Desktopで管理しているプロジェクトを選択します。
  2. 画面右上の「Repository」メニューをクリックします。
  3. 「Open in Command Prompt」(Windowsの場合)または「Open in Terminal」(Macの場合)を選択します。

これにより、現在選択しているリポジトリのディレクトリを開いた状態で、ターミナルやコマンドプロンプトを開くことができます。これで、Gitのコマンドを直接入力して操作できます。

はい、GitHub Desktopで一部の操作(たとえばコマンドラインでの操作が必要な場合)を行うと、Gitがローカルにインストールされていない場合、インストールを求められることがあります。

GitHub DesktopでGitのインストールを促される場合

  • GitHub Desktopでサポートされていない操作: GitHub Desktopは基本的な操作を簡単に行えるよう設計されていますが、git revertのような一部のGitコマンド操作が必要になる場合、Gitのインストールが必要になる場合があります。
  • 「Open in Command Prompt」または「Open in Terminal」からコマンドライン操作を行う場合: GitHub Desktopには、ターミナルやコマンドプロンプトを開くオプションがあります。この際、Gitがシステムにインストールされていないと警告が表示され、インストールが促されます。

Gitをインストールするには

Gitのインストールは、公式のGitウェブサイトから簡単に行うことができます。GitHub Desktopは通常、インストールされているGitを自動で検出するため、インストール後は特別な設定は不要です。

画面が切り替わりますので、次を選択します

インストーラがダウンロードされますので、指示に従ってインストールします
この際、いくつかの選択を求められますが、デフォルトの選択で構いません

Gitがインストールされていれば、GitHub Desktopとシームレスに連携してコマンドライン操作も行えます。

よく使うGitコマンド

  • git status: 現在のリポジトリの状態を確認します。どのファイルが変更されているか、追加されていないかなどを確認できます。
git status

実行後のメッセージサンプル

> git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean
  • 解説>
    • On branch main: 現在、mainというブランチ上にいることを示します。このブランチで作業中です。
    • Your branch is up to date with 'origin/main’: ローカルのブランチがリモートのorigin/mainブランチと同期している(変更がなく、リモートと同じ状態である)ことを示しています。
    • nothing to commit, working tree clean: 変更がなく、コミットするべきファイルがない状態です。すべてのファイルがリポジトリにコミットされており、ワーキングツリーがクリーンであることを意味します。

2. GitとGitHub Desktopの基本

  • Git: ソースコードの履歴を管理するためのバージョン管理システム。コマンドラインを使って操作します。
  • GitHub Desktop: Gitを視覚的に操作するためのツールで、初心者でも簡単に扱うことができます。

3. リポジトリの作成とクローン

3.1 新しいリポジトリをローカルで作成する

Git コマンド

  • init: 新しい空のGitリポジトリを作成します。
git init
  • コマンドを実行すると、カレントディレクトリに新しいGitリポジトリが作成されます。これで、変更を追跡できるようになります。

GitHub Desktop

  1. GitHub Desktopを開き、「File」→「New Repository」を選択します。
  2. リポジトリ名や保存先を指定し、「Create Repository」をクリックします。

プロジェクトフォルダをドラッグ&ドロップする方法

  1. GitHub Desktopを開きます。
  2. プロジェクトフォルダをGitHub Desktopのウィンドウにドラッグ&ドロップします。
  3. GitHub Desktopがフォルダを検出し、ローカルリポジトリとして初期化するよう求められるので、「Create a Repository」をクリックします。

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

Git コマンド

git clone <repository-url>

GitHub Desktop

  1. GitHub Desktopを開き、「File」→「Clone Repository」を選択します。
  2. 「URL」タブを選び、リポジトリURLを入力して「Clone」をクリックします。

GitHubのWebサイトからの手順

  1. GitHubにログインし、クローンしたいリポジトリのページにアクセスします。
  2. 「Code」ボタンをクリックします。
    • 「Open with GitHub Desktop」: 「Code」メニューの中に「Open with GitHub Desktop」オプションがあります。これをクリックすると、自動的にGitHub Desktopが開き、リポジトリをクローンする準備が整います。
  3. GitHub Desktopが開いたら、「Clone」をクリックしてリポジトリをローカルにクローンします。

4. 変更をステージングする

4.1 変更をインデックスに追加

Git コマンド

git add <file>

GitHub Desktop

  1. 「Changes」タブに変更内容が表示されます。
  2. ステージしたいファイルのチェックボックスをオンにする。

5. 変更をコミットする

5.1 コミットメッセージとコミット

Git コマンド

git commit -m "コミットメッセージ"

GitHub Desktop

  1. 「Summary」にメッセージを入力。
  2. 「Commit to 」をクリック。

5.2 直前のコミットメッセージの修正

Git コマンド

git commit --amend
  • amend: 直前のコミットメッセージを変更したり、追加の変更をコミットに含めることができます。
    • 解説: このコマンドは、直前に行ったコミットに誤りがあった場合や、コミットメッセージを修正したい場合に使用します。また、コミットに追加の変更を含めたい場合にも便利です。コマンドを実行するとコミットメッセージの編集画面が開くため、必要な変更を行い、保存・終了します。

GitHub Desktop

  • コミットメッセージの修正
    1. GitHub Desktopの「History」タブを開き、修正したい直前のコミットを右クリックします。
    2. 「Amend Commit」を選択します。
    3. コミットメッセージを修正し、必要に応じて変更内容も追加してから、再度コミットを行います。

この方法を使えば、直前のコミットに対してメッセージや内容の修正を簡単に行うことができます。GitHub Desktopの「Amend Commit」オプションは視覚的に分かりやすく、ミスを訂正したい場合に非常に便利です。


6. リモートリポジトリに変更をプッシュ

6.1 プッシュする

Git コマンド

git push

GitHub Desktop

  1. 右上の「Push origin」をクリックして変更をリモートにプッシュ。

7. リモートリポジトリの変更を取得

7.1 フェッチとプル

Git コマンド

  • フェッチ: git fetch
  • プル: git pull

GitHub Desktop

  1. 「Fetch origin」をクリックして変更を取得します。
  2. 必要に応じて「Pull origin」で統合します。

8. ブランチの作成と管理

8.1 新しいブランチを作成

Git コマンド

git branch <branch-name>

GitHub Desktop

  1. 「Current Branch」→「New Branch」を選択します。
  2. ブランチ名を入力して「Create Branch」をクリックします。

8.2 ブランチを切り替える

Git コマンド

git switch <branch-name>

または

git checkout <branch-name>
  • コマンドを実行すると、指定したブランチに切り替わります。

GitHub Desktop

  1. 左上の「Current Branch」ボタンをクリックします。
  2. 切り替えたいブランチを選択します。

9. 履歴を確認する

9.1 コミット履歴の確認

Git コマンド

git log

git logコマンドを使用すると、長いコミット履歴がターミナルに表示される場合、全てを一度に表示できないため、ページ分けが発生します。この際に画面下部に : が表示されるのは、Gitが履歴をページ分けして表示するために使用している「pager」というツールによるものです。この状態で使えるコマンドを以下に説明します。

ページ送り中に使えるコマンド

  1. スペースキー (Space): 次のページに進むことができます。複数ページにわたる履歴を表示したい場合に使用します。
  2. Enterキー: 1行ずつ下にスクロールして表示します。細かく履歴を確認したい場合に便利です。
  3. bキー: 前のページに戻ります。これを使うと、誤って進み過ぎた場合に過去の内容を再確認できます。
  4. qキー: ページャーを終了して、通常のコマンド入力に戻ります。
  5. dキー: 半ページ分下に進むことができます。多くの内容を一気に見るが、完全なページ送りはしない場合に使います。
  6. uキー: 半ページ分上に戻ります。

ページャー(less)の基本操作

Gitのページ分けは、lessというツールが使われているため、上記の操作はlessの基本的なキー操作に準じています。ページを跨いだ操作を学ぶと、コミット履歴の確認がより便利になります。

例えば、長い履歴をすぐに確認したい場合は、スペースキーでページを送り、確認したいところでqで終了してコマンドラインに戻るのが効率的です。

GitHub Desktop

  1. 「History」タブでコミット履歴を確認します。

10. マージとコンフリクトの解消

10.1 ブランチの統合

Git コマンド

git merge <branch-name>

GitHub Desktop

  1. 「Current Branch」から「Merge into 」を選択します。
  2. コンフリクトがある場合は手動で解決し、コミットします。

11. まとめ

  • Gitは開発履歴を管理し、チームで効率的に作業するために不可欠です。
  • GitHub Desktopを使うと、視覚的なインターフェースで簡単にGitの操作を行えます。
  • GitHub Desktopからターミナルを開くことで、視覚的な操作とコマンド入力の両方を簡単に切り替えて利用できます。

このガイドを参考に、基本操作を練習して、プロジェクト管理やチーム開発に活かしてみてください。操作に慣れることで、開発の効率が大幅に向上します!