【ITニュース解説】Git & GitHub: A Beginner’s Complete Guide
2025年09月21日に「Dev.to」が公開したITニュース「Git & GitHub: A Beginner’s Complete Guide」について初心者にもわかりやすく解説しています。
ITニュース概要
GitとGitHubの初心者向けガイド。ローカルリポジトリ作成、SSH連携、変更の追加・コミット・プッシュ、リモートからのプルを解説。ブランチの作成・マージ・削除や、無視するファイルを指定する.gitignoreの使い方も学ぶ。開発に必要な基本操作を網羅する。
ITニュース解説
GitとGitHubは、システムエンジニアが日々の開発作業で欠かせないツールだ。Gitは自分のコンピューター上でプログラムの変更履歴を管理する「バージョン管理システム」であり、GitHubはそのGitで管理されたプログラムをインターネット上で共有し、複数人で協力して開発を進めるための「プラットフォーム」である。この二つを組み合わせることで、開発者は効率的に作業を進め、過去の変更を追跡し、安全に共同開発を行うことができる。
まず、ローカルコンピューターとGitHubをつなぐ準備から始める。GitHubアカウントを作成し、次にGitを自分のシステムにインストールする必要がある。これにより、Gitのコマンドをターミナルやコマンドプロンプトから実行できるようになる。
ローカルのGitとGitHubアカウントをセキュアに連携させるために、SSHキーというものを使用する。これは、あなたを特定し、GitHubへのアクセスを許可するためのデジタルな鍵のようなものだ。ssh-keygen -t ed25519 -C "あなたのメールアドレス"というコマンドを実行し、いくつかの質問にEnterキーで答えることで、公開鍵と秘密鍵のペアが生成される。このうち、公開鍵(通常はC:/Users/あなたのユーザー名/.ssh/id_ed25519.pubのようなパスにあるファイル)の内容をコピーし、GitHubのウェブサイトにある設定画面の「SSH and GPG keys」セクションに貼り付けて保存する。これにより、パスワードを繰り返し入力することなく、安全にGitHubと通信できるようになる。
その後、Gitの設定として、自分の名前とメールアドレスを登録する。これは、どの変更が誰によって行われたかを記録するために重要だ。git config --global user.email "あなたのメールアドレス"とgit config --global user.name "あなたの名前"というコマンドで設定できる。
次に、自分のプロジェクトをGitで管理するための「リポジトリ」を作成する。リポジトリとは、プロジェクトのファイルやフォルダ、そしてその変更履歴がすべて保存される場所のことだ。ローカルのプロジェクトフォルダでgit initコマンドを実行すると、そのフォルダがGitの管理下に入る。デフォルトのブランチ名(開発のメインライン)をmainにしたい場合は、git init -b mainと実行する。
このローカルリポジトリをGitHub上のリポジトリと関連付けるには、GitHubで作成したリポジトリのURL(SSHまたはHTTPS形式)をコピーし、ローカルのgit remote add origin あなたのリポジトリURLというコマンドで設定する。originはリモートリポジトリに付けられた慣習的な名前だ。git remote -vコマンドで、正しくリモートリポジトリが設定されているかを確認できる。
プロジェクトのファイルを変更したら、その変更を記録するプロセスに入る。まず、git add .コマンド(またはgit add ファイル名)で、変更したファイルを「ステージングエリア」に追加する。ステージングエリアは、次に記録する変更内容を一時的に準備する場所だと考えると良い。次に、git commit -m "コミットメッセージ"コマンドで、ステージングエリアにある変更を「コミット」する。コミットとは、変更履歴の一つの節目を確定させることであり、後からその変更内容を追跡したり、元に戻したりするための重要なポイントとなる。コミットメッセージには、その変更が何を行ったものなのかを簡潔に記述する。
ローカルでコミットした変更をGitHubに公開するには、git push origin main(またはgit push origin ブランチ名)コマンドを使用する。これにより、自分のローカルリポジトリの変更がGitHub上のリモートリポジトリに送信され、他の開発者もその変更を見たり利用したりできるようになる。
もし間違った変更をしてしまったり、ステージングエリアに入れたくない変更があったりした場合、その変更を取り消すことができる。例えば、まだコミットしていない作業ディレクトリの変更を元に戻すにはgit restore <ファイル名>を使う。ステージングエリアに追加してしまった変更を、ステージングから外すにはgit restore --staged <ファイル名>を使用する。git reset .コマンドは、現在のディレクトリの全ての追跡ファイルを最後のコミットの状態に戻す。また、直前のコミット自体を取り消したい場合はgit reset HEAD~1を実行する。これは、過去のコミット履歴を巻き戻す強力なコマンドなので、注意して使用する必要がある。
複数の開発者が同じプロジェクトで作業している場合、他の人がGitHubにプッシュした最新の変更を自分のローカルリポジトリにも取り込む必要がある。これを怠ると、自分の変更と他の人の変更が衝突する「コンフリクト」が発生しやすくなる。この最新の変更を取り込むために使うのがgit pull origin main(またはgit pull origin ブランチ名)コマンドだ。git pullは、GitHubから最新のコードを取得し(git fetch)、それを自分の現在のブランチに統合する(git merge)という二つの操作を一度に行う便利なコマンドである。これにより、常に最新の状態で開発を進めることができる。
プロジェクトには、Gitで管理する必要のないファイルやフォルダー(例えば、一時ファイル、ビルド成果物、環境設定ファイル、秘密情報など)が存在することがよくある。これらをGitの管理対象から除外し、誤ってコミットしてしまうのを防ぐために.gitignoreファイルを使用する。.gitignoreファイルに、無視したいファイルやフォルダーのパターンを記述しておくことで、Gitはそれらを追跡しなくなる。例えば、node_modules/(npmパッケージのインストール先)や.env(環境変数ファイル)などを記述することが一般的だ。GitHubでは、様々なプロジェクト向けに予め用意された.gitignoreテンプレートも提供されている。
Gitの強力な機能の一つに「ブランチ」がある。ブランチは、プロジェクトのメインライン(通常はmainブランチ)から分岐して、独立した開発ラインを作成する機能だ。これにより、新しい機能の開発やバグ修正をメインのコードベースに影響を与えることなく進めることができる。
現在作業しているブランチや、ローカルに存在するブランチの一覧はgit branchコマンドで確認できる。新しいブランチを作成するにはgit branch 新しいブランチ名、そのブランチに切り替えて作業を開始するにはgit switch ブランチ名を使用する。
新しいブランチで開発を進め、変更をコミットしたら、それをGitHubに公開するためにgit push origin 新しいブランチ名を実行する。
開発が完了し、そのブランチの変更をメインのブランチに統合したい場合は、「マージ」を行う。例えば、branchAの変更をbranchBにマージしたい場合、まずgit switch branchBでbranchBに切り替え、その後git merge branchAを実行する。これにより、branchAで行われた変更がbranchBに取り込まれる。
役割を終えたブランチは、ローカルからgit branch -d ブランチ名(マージ済みのブランチを削除)またはgit branch -D ブランチ名(マージされていないブランチでも強制削除)で削除でき、リモートからもgit push origin --delete ブランチ名で削除できる。
これらのGitとGitHubの基本的なコマンドと概念を理解し習得することは、システムエンジニアとしての開発作業を効率的に進め、チームでの共同開発を円滑にする上で非常に重要だ。これらの基礎を固めることで、さらに複雑なバージョン管理のシナリオや、リベース、スタッシュ、競合解決といった高度なGitの概念にもスムーズに進んでいけるだろう。