この記事では、毎日繰り返す基本的な作業の流れを説明します。プロジェクトのコピーを取得し、変更を保存(commit)して、GitHubに送信(push)し、不要なファイルを.gitignoreで除外します。Claude Codeがリポジトリで作業するときも同じ流れを実行するため、知っておくとなおさら役立ちます。
例と画面キャプチャはJetBrains IDEのものです。操作名や場所はお使いのバージョンによって異なる場合があります。練習には専用の学習用リポジトリを使ってください。実際のプロジェクトでは、そのプロジェクトのブランチ、commit、pushのルールに従いましょう。
プロジェクトをcloneする
GitHubにリポジトリがあり、作業を始めるためにコンピューターへローカルコピーを取得したいとします。この操作をcloneと呼びます。
手順1. IDEを起動します。プロジェクトが開いている場合は、File | Close Projectで閉じます。スタート画面(Welcome Screen)でClone Repository(またはGet from VCS)を選びます。

手順2. 開いたウィンドウにリポジトリのURLを貼り付けます。他の人のリポジトリをcloneする場合は、GitHubのリポジトリページからURLをコピーできるので便利です。

自分のリポジトリをcloneするなら、IDEからLog in to GitHubを選んでGitHubにログインするのが簡単です。IDEが認証用のブラウザーを開きます。

開いたページで緑色のAuthorize JetBrainsボタンをクリックします。これでIDEの一覧から自分のリポジトリを選べます。対象のプロジェクトを選び、Cloneをクリックしてください。

手順3. プロジェクトを信頼するか確認します。内容を把握している自分のリポジトリなら、Trust Projectを選べます。知らないリポジトリの場合は、まず中身と起動手順を確認してください。信頼すると、IDEがプロジェクトの処理を実行できるようになります。
手順4. プロジェクトを開きます。Windowsでは、インデックス作成を速くするためにIDEがウイルス対策ソフトの除外設定を提案することがあります。Gitの学習には不要です。cloneのために保護機能を無効にしないでください。

変更をcommitする
commitは、ある時点のプロジェクトの状態を保存したスナップショットです。ゲームのセーブポイントのようなものだと考えてください。問題が起きても、そこへ戻れます。各commitには一意のIDと、変更内容を説明するメッセージがあります。
commitの履歴では、新しいcommitが前のcommitを土台に積み重なり、プロジェクトの変化が時系列に記録されます。
手順1. ファイルを変更します。README.mdを開き、プロジェクトの説明を追加します。編集を始めると、IDEのプロジェクトパネルでファイル名が青く表示されます。これは、ファイルは変更されたものの、変更がまだGitに保存されていないという意味です。変更した行の横には色付きのバーが表示され、追加行は緑、変更行は青です。

Commitタブを開き、変更されたファイルを確認します。JetBrainsの標準モードでは、これらは変更リスト(changelists)として表示されます。独立したGit stagingは設定で有効にできます。この画面のチェックボックスによる選択と、ターミナルですでに準備したindexを混同しないでください。

画面に表示されているのは次の項目です。
- Changes - Gitがすでに追跡していて、変更されたファイル(この例では
README.md); - Unversioned Files - プロジェクトフォルダー内にあり、Gitがまだ追跡していない新しいファイル。
手順2. 選択したdiffを確認します。Unversioned Filesの新しいファイルは、まだ追跡されていません。ビルド結果、キャッシュ、個人設定は通常.gitignoreで除外します。プロジェクト共通の設定がGitに保存されていることもあります。.idea/フォルダー全体を無視する前に、プロジェクトのルールを確認してください。
手順3. commitを作成します。docs: Describe the project in READMEのように分かりやすいメッセージを入力し、選択したdiffを確認してCommitをクリックします。commit前のチェックが有効なら、結果が出るまで待ちます。Git Logを開き、新しいcommitに目的のファイルが含まれていることを確認しましょう。

Claude Codeがcommitを提案するとき、実際には選択したファイルとメッセージを使ってgit commitを実行します。ここでもファイル一覧を目で確認する習慣が役立ちます。Claudeが必要なファイルだけをcommitしようとしているかを確認し、メッセージを読んでから承認するか修正してください。
変更をGitHubにpushする
commitはまだ自分のコンピューターにしかありません。チームと共有したり、安全な場所に保管したりするには、GitHub上のリモートリポジトリへ送信します。
- ローカルのcommit
- git push
- リモートブランチ
Pushは選択したリモートブランチを自分のcommitで更新します。他の人の作業をダウンロードする操作ではなく、commitしていないファイルも送信されません。
手順1. Pushをクリックします。Pushボタンは上部のMain Toolbarにあり、右上向きの矢印で表示されます。

手順2. 確認して実行します。送信するcommitがすべて表示されたウィンドウが開きます。必要な内容だけを送ることを確認する最後の機会です。Pushをクリックしてください。

pushが成功すると、IDEに通知が表示されます。通知にあるリポジトリと送信先ブランチを確認してください。この練習ではorigin/mainです。通知の文言はIDEのバージョンによって異なります。
手順3. GitHubで結果を確認します。ブラウザーでGitHubのリポジトリページを開くと、変更とファイルが反映されていることを確認できます。
Claude Codeは変更を代わりに送信できます(git push)。サーバーに送られるのは、すでにcommitに記録された内容です。つまりcommitの段階でスナップショットに何が含まれるか確認することが、GitHubに何が届くかを確認することにつながります。
IDEのGit操作パネル
IDEには専用のGitツールウィンドウと、上部ツールバーのクイック操作があります。バージョン管理の中心となる場所です。主なボタンを見てみましょう。

Commit(チェックマーク)- 変更を保存するパネルを開きます;Push(右上向きの矢印)- GitHubへcommitを送信するウィンドウ;Branches- ブランチ管理ウィジェット(左上);Show Git Log- プロジェクトのcommit履歴全体を表示する、いわば自分専用のタイムマシンです。
更新を取得する
Update Projectは変更を取得し、ローカルブランチに統合します。IDEは設定に応じてmergeまたはrebaseを使います。更新する前に未完了の作業を保存し、選択されている更新方法を確認してください。
新しいタスクを始める前に、ファイルの状態と必要なブランチが最新かを確認します。他の人のcommitがあれば取得し、プロジェクトのルールに沿って統合してください。更新時に競合の解決が必要になることもあります。また、今後競合が起きないと保証されるわけではありません。
不要なファイルを除外する - .gitignore
プロジェクトに補助ファイルやビルド結果ができ、それらを誤ってリポジトリに含めたくない場合は、除外対象に追加します。そのためにプロジェクトのルートに.gitignoreという専用ファイルを作成します。
通常除外するファイルとその理由
ほとんどの技術スタックには、Gitに入れる必要のないファイルがあります。自分のコンピューター固有のものや、ビルドのたびに生成されるものです。
- ビルドフォルダー(例:
build/、dist/)- 簡単に再生成できるコンパイル結果; - パッケージマネージャーのキャッシュと依存関係(例:
node_modules/)- 数百MBになることがあり、環境ごとに異なります; - 作業ウィンドウの状態など、個人用のIDE設定。
.idea/にはプロジェクト共通の設定が含まれる場合もあるため、フォルダー全体を除外するのはプロジェクトのルールに従ってください; - OSのファイル(
.DS_Store、Thumbs.db)- OSが自動生成する補助ファイル。
ファイルを手動で除外する方法:
手順1. 下書き用のメモとしてローカルファイルnotes.txtを作成したとします。プロジェクトツリーでそのファイルを右クリックします。

手順2. Git -> Add to .gitignore -> Add to .gitignoreの順にメニューを選びます。この操作で、選択したファイルがプロジェクトルートの.gitignoreに追加されます。

.gitignoreがまだない場合は、IDEが作成を提案します。作成してください。
手順3. IDEがファイル名を.gitignoreに自動で追加します。

ルールに一致する未追跡ファイルは、通常、追加候補の一覧から消えます。IDEでの色はテーマによって異なります。これは強制追加を防ぐ仕組みではなく、すでに履歴に保存されたファイルを取り除く方法でもありません。全員にルールを適用したい場合は、.gitignore自体をcommitしてください。
ファイルがすでに追跡されている場合。.gitignoreに追加しても追跡は止まりません。git rm --cached ファイルパスコマンドは、作業コピーを残したままファイルをindexから取り除きます。その変更をcommitしてください。以前のバージョンは履歴に残ります。秘密情報が含まれる場合は、無視するだけで済ませず、まずアクセスを無効にしてください。
.gitignoreのルール
このファイルには、Gitが無視するファイル名やフォルダー名のパターンを記述します。空行は無視され、コメントは#で始まります。
*- 任意の数の文字に一致します。たとえば*.logは、拡張子が.logのすべてのファイルを無視します;- パターンの末尾にある
/はディレクトリーを表します。たとえばbuild/はbuildフォルダー内のすべてを無視します; - 行頭の
!はルールを反転します。たとえば*.logというルールがあるとき、!important.logはそのファイルを除外対象から外します。追加すると追跡が始まります; - スラッシュの間にある
**は、フォルダーが何階層あっても一致します。フォルダーがない場合も含みます。たとえばlogs/**/*.logはlogs/a.logとlogs/2026/09/a.logの両方に一致します。
.gitignoreファイルの例
# ビルドとキャッシュのフォルダー
build/
dist/
node_modules/
# 個人用IDEの状態(JetBrains)
.idea/workspace.xml
# OSのファイル
.DS_Store
Thumbs.db既成のテンプレート
これらのファイルを一から書く必要はありません。コミュニティで確認されたテンプレートが用意されています。
- さまざまな言語やフレームワーク向けのGitHubの
.gitignoreコレクション: https://github.com/github/gitignore; - gitignore.io - 使用する技術に合わせた
.gitignoreを生成するWebサービスです(言語、OS、IDEを入力するだけです)。
Claude Codeと一緒に使う
この日々の作業の流れは、Claude Codeが代わりに実行できることそのものです。次の点を確認してください。
- Claudeはcommitとpushを実行できます。commitに何が含まれるか確認し、メッセージを読みましょう;
.gitignoreを適切に設定すれば不要なファイルを除外できますが、commit前に選択したファイルはやはり確認が必要です;- 更新前にブランチの状態と未完了の作業を確認し、更新後に統合結果を確認します。
commitやpushを承認する前に、Claude Codeが表示するdiffを確認してください。Commitウィンドウのチェックボックスと同じ確認ですが、変更を行ったのはClaudeです。こうすれば、自分が承認した内容だけが履歴とサーバーに反映されます。
GO TO FULL VERSION