<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>バージョン管理  |  Python-memo｜自動化・AI・Web開発の実験室</title>
	<atom:link href="https://python.cbagames.jp/tag/%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e7%ae%a1%e7%90%86/feed/" rel="self" type="application/rss+xml" />
	<link>https://python.cbagames.jp</link>
	<description>Pythonで、できるをふやそう。</description>
	<lastBuildDate>Wed, 04 Feb 2026 05:05:09 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://python.cbagames.jp/wp-content/uploads/2025/06/cropped-497d491d54402de785c9e043bfa0620a-32x32.png</url>
	<title>バージョン管理  |  Python-memo｜自動化・AI・Web開発の実験室</title>
	<link>https://python.cbagames.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Pythonでライブラリを一括インストールする方法｜requirements.txtの使い方をやさしく解説！</title>
		<link>https://python.cbagames.jp/2025/06/16/python-requirements-txt-install/</link>
					<comments>https://python.cbagames.jp/2025/06/16/python-requirements-txt-install/#respond</comments>
		
		<dc:creator><![CDATA[asukapy]]></dc:creator>
		<pubDate>Mon, 16 Jun 2025 02:57:45 +0000</pubDate>
				<category><![CDATA[Python入門]]></category>
		<category><![CDATA[pip]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[requirements.txt]]></category>
		<category><![CDATA[バージョン管理]]></category>
		<category><![CDATA[プログラミング初心者]]></category>
		<category><![CDATA[ライブラリ管理]]></category>
		<category><![CDATA[環境構築]]></category>
		<guid isPermaLink="false">https://python.cbagames.jp/?p=351</guid>

					<description><![CDATA[目次 はじめに｜requirements.txtってなに？なんで使うの？1. requirements.txtとは？役割とメリット✅ じゃあ何のために使うの？✅ メリットまとめ！2. pip freezeでrequire [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2"><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに｜requirements.txtってなに？なんで使うの？</a></li><li><a href="#toc2" tabindex="0">1. requirements.txtとは？役割とメリット</a><ol><li><a href="#toc3" tabindex="0">✅ じゃあ何のために使うの？</a></li><li><a href="#toc4" tabindex="0">✅ メリットまとめ！</a></li></ol></li><li><a href="#toc5" tabindex="0">2. pip freezeでrequirements.txtを作る方法</a><ol><li><a href="#toc6" tabindex="0">✅ pip freezeコマンドとは？</a></li><li><a href="#toc7" tabindex="0">✅ ファイルに保存するには？</a></li><li><a href="#toc8" tabindex="0">✅ 作られたファイルの中身（例）</a></li><li><a href="#toc9" tabindex="0">✅ 小ワザ：不要なライブラリを除外したいときは？</a></li></ol></li><li><a href="#toc10" tabindex="0">3. requirements.txtから一括インストールする方法</a><ol><li><a href="#toc11" tabindex="0">✅ 一括インストールのコマンド</a></li><li><a href="#toc12" tabindex="0">✅ 実行の流れ（イメージ）</a></li><li><a href="#toc13" tabindex="0">✅ よくあるエラーとその対処法</a></li><li><a href="#toc14" tabindex="0">✅ ポイント：仮想環境と一緒に使うと最強！</a></li></ol></li><li><a href="#toc15" tabindex="0">4. requirements.txtを編集・活用する小技</a><ol><li><a href="#toc16" tabindex="0">✅ 小技①：手動でパッケージを追加・削除できる</a></li><li><a href="#toc17" tabindex="0">✅ 小技②：バージョンをあえて指定しない</a></li><li><a href="#toc18" tabindex="0">✅ 小技③：コメントを書いて整理できる</a></li><li><a href="#toc19" tabindex="0">✅ 小技④：ファイルを用途別に分ける</a></li><li><a href="#toc20" tabindex="0">✅ 小技⑤：GitHubに一緒にアップしよう！</a></li><li><a href="#toc21" tabindex="0">💡 おまけ：中身を確認したいときは？</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ｜requirements.txtでPython環境をラクに再現しよう！</a><ol><li><a href="#toc23" tabindex="0">あわせて読みたい</a></li></ol></li><li><a href="#toc24" tabindex="0">よくある質問（Q&amp;A）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに｜requirements.txtってなに？なんで使うの？</span></h2>



<p>Pythonでプログラムを作っていると、「自分の環境では動くのに、別のパソコンだとエラーが出る…」という経験はありませんか？ その原因の多くは、<strong>必要なライブラリがインストールされていない</strong>ことです。</p>



<p>Pythonでは、使用しているライブラリを<strong>一括でインストール</strong>できる便利な仕組みとして <code>requirements.txt</code> というファイルが用意されています。 このファイルを使えば、複数のライブラリを1つずつ入れる必要はなく、<strong>コマンド一発で開発環境を再現</strong>できます。</p>



<p>たとえば、次のような場面で requirements.txt は大活躍します。</p>



<ul class="wp-block-list">
<li>自分のPCで作ったPythonプログラムを、別のPCでも同じように動かしたいとき</li>



<li>チーム開発で、全員のライブラリ環境を揃えたいとき</li>



<li>GitHubなどでコードを公開し、他の人に簡単に実行してもらいたいとき</li>
</ul>



<p>requirements.txt に書く内容はとてもシンプルで、<code>Flask==2.2.2</code> のように 「ライブラリ名とバージョン」を並べるだけ。 手動で作成することも、自動で生成することもできます。</p>



<p>この記事では、<strong>Python初心者の方でもつまずかないように</strong>、 requirements.txt の役割・作り方・使い方を順番にやさしく解説します。 「Pythonの環境構築がいつも不安…」という方は、ぜひ参考にしてみてください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc2">1. requirements.txtとは？役割とメリット</span></h2>



<p><code>requirements.txt</code>（リクワイアメンツ ドット ティーエックスティー）は、Pythonのプロジェクトでよく使われる<strong>ライブラリの一覧表</strong>のようなものです。中には「このプロジェクトではどんなライブラリが、どのバージョンで必要か？」という情報がズラッと書かれています。</p>



<h3 class="wp-block-heading"><span id="toc3">✅ じゃあ何のために使うの？</span></h3>



<p>一言でいうと、**「同じ環境をすぐに再現するため」**です。</p>



<p>Pythonで何かアプリやツールを作ったとき、それを他の人に渡すだけでは、うまく動かないことがよくあります。<br>なぜかというと、「自分のパソコンでは必要なライブラリが入っているけど、相手のパソコンには入っていない」から。</p>



<p>でも、<code>requirements.txt</code>を使えば安心！</p>



<pre class="wp-block-preformatted"><code>pip install -r requirements.txt<br></code></pre>



<p>このコマンドを一発打てば、<strong>中に書かれたライブラリが全部まとめてインストールされる</strong>んです。しかも、<strong>バージョン指定もできる</strong>ので、自分と相手で同じ環境がカンタンに作れます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc4">✅ メリットまとめ！</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>機能</th><th>説明</th></tr></thead><tbody><tr><td>一括インストールができる</td><td>1行のコマンドで、必要なライブラリをすべて入れられる！</td></tr><tr><td>バージョンを固定できる</td><td>同じライブラリでも違うバージョンだと動かないことも。requirements.txtならそれを防げる！</td></tr><tr><td>チーム開発や配布がラクになる</td><td>誰が使っても同じ状態にできるので、エラーが減ってストレスフリー！</td></tr><tr><td>GitHubとの相性がバツグン</td><td>コードと一緒にアップしておけば、他の人が試すのも超ラク！</td></tr></tbody></table></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>「Pythonのプロジェクトをもっとスムーズに動かしたい」「環境構築でエラーを減らしたい」と思っているなら、<code>requirements.txt</code>は必須アイテムです！</p>



<p>次は、このファイルをどうやって作るのか、実際のコマンドを使って見ていきましょう！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc5">2. pip freezeでrequirements.txtを作る方法</span></h2>



<p>「requirements.txtって便利そうだけど、どうやって作るの？」<br>安心してください！作り方はとっても簡単。<strong>たった1行のコマンドを実行するだけ</strong>なんです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc6">✅ pip freezeコマンドとは？</span></h3>



<p>Pythonには「pip（ピップ）」というライブラリ管理ツールが最初からついています。<br>そのpipに「freeze（フリーズ）」というコマンドを使うと、<strong>今自分の環境にインストールされているライブラリの一覧を表示</strong>してくれます。</p>



<p>実際にコマンドを打ってみましょう！</p>



<pre class="wp-block-preformatted"><code>pip freeze<br></code></pre>



<p>すると、こんなふうに表示されます：</p>



<pre class="wp-block-preformatted"><code>Flask==2.2.2<br>requests==2.31.0<br>numpy==1.24.3<br></code></pre>



<p>この結果を見れば、<strong>どんなライブラリが、どのバージョンで入っているか</strong>がひと目でわかりますね。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc7">✅ ファイルに保存するには？</span></h3>



<p>さきほどの情報を、そのまま<code>requirements.txt</code>という名前で保存するには、次のコマンドを実行します：</p>



<pre class="wp-block-preformatted"><code>pip freeze &gt; requirements.txt<br></code></pre>



<p>これで、カレントディレクトリ（今いる場所）に <code>requirements.txt</code> というファイルが作成され、中にはインストール済みのライブラリ一覧が書き込まれています。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc8">✅ 作られたファイルの中身（例）</span></h3>



<pre class="wp-block-preformatted"><code>Flask==2.2.2<br>requests==2.31.0<br>numpy==1.24.3<br></code></pre>



<p>この形式、「パッケージ名==バージョン番号」になっているのがポイントです！<br>これがあるから、<strong>あとで同じ状態を再現できる</strong>わけですね。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc9">✅ 小ワザ：不要なライブラリを除外したいときは？</span></h3>



<p>「開発中に入れてたけど、本番には必要ないな…」というライブラリもあるかもしれません。<br>そんなときは、<code>requirements.txt</code>を<strong>テキストエディタで開いて、いらない行を手動で削除</strong>すればOKです。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>これで、あなたのPython環境をまるごと記録した「requirements.txt」ができあがりました！<br>次は、<strong>このファイルを使ってライブラリを一括インストールする方法</strong>を解説していきますよ。</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc10">3. requirements.txtから一括インストールする方法</span></h2>



<p>さて、前の章で作った<code>requirements.txt</code>。<br>このファイルがあれば、<strong>一つずつライブラリをインストールする手間はもういりません！</strong></p>



<p>Pythonの環境を一気に再現するには、<strong>たった一行のコマンド</strong>でOKなんです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc11">✅ 一括インストールのコマンド</span></h3>



<pre class="wp-block-preformatted"><code>pip install -r requirements.txt<br></code></pre>



<p>このコマンドを実行すると、<code>requirements.txt</code>に書かれているすべてのライブラリが、<strong>そのとおりのバージョンでインストールされます</strong>。</p>



<p>例：</p>



<pre class="wp-block-preformatted"><code>Flask==2.2.2<br>requests==2.31.0<br></code></pre>



<p>と書かれていた場合は、Flaskのバージョン2.2.2、requestsのバージョン2.31.0が自動で入ります。<br>しかも順番にまとめてやってくれるから、すっごくラク！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc12">✅ 実行の流れ（イメージ）</span></h3>



<ol class="wp-block-list">
<li><code>requirements.txt</code>をプロジェクトフォルダに置く</li>



<li>ターミナルやコマンドプロンプトを開く</li>



<li><code>cd</code>コマンドでそのフォルダに移動</li>



<li><code>pip install -r requirements.txt</code>を実行！</li>



<li>インストール完了！</li>
</ol>



<p>これで準備完了！同じPythonコードを<strong>他のPCでもそのまま動かす</strong>ことができます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc13">✅ よくあるエラーとその対処法</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>エラー内容</th><th>原因と対策</th></tr></thead><tbody><tr><td><code>No such file or directory: 'requirements.txt'</code></td><td>ファイルが存在していない、またはコマンドを打った場所が違う可能性。正しいディレクトリに移動してから実行しよう。</td></tr><tr><td><code>ERROR: Could not find a version that satisfies the requirement ...</code></td><td>書かれているライブラリのバージョンが古すぎるか、新しすぎて見つからない。バージョン指定を見直すと◎</td></tr><tr><td><code>Permission denied</code></td><td>管理者権限が必要な環境では<code>pip install</code>の前に<code>sudo</code>（Mac/Linux）をつける必要あり。Windowsなら「管理者として実行」でターミナルを開こう。</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc14">✅ ポイント：仮想環境と一緒に使うと最強！</span></h3>



<p>実は、<code>requirements.txt</code>は**仮想環境（venv）**とセットで使うともっと便利なんです！<br>他のプロジェクトの環境と混ざらずに、キレイに管理できます。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>これで、requirements.txtからライブラリを一括でインストールする方法がバッチリ分かりましたね！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc15">4. requirements.txtを編集・活用する小技</span></h2>



<p><code>requirements.txt</code>は、ただのテキストファイル。<br>つまり、<strong>自分で開いて自由に編集できる</strong>んです！</p>



<p>ちょっとした工夫で、もっと便利に活用できるので、いくつかの小技をご紹介します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc16">✅ 小技①：手動でパッケージを追加・削除できる</span></h3>



<p>「このライブラリだけ入れてほしい」とか、「これは開発のときだけ使うからいらないな〜」ってとき、ありますよね。</p>



<p>そんなときは、<strong>テキストエディタで開いて、いらない行を削除</strong>するだけでOK！<br>逆に、必要なライブラリを追加したいときは、こう書けばいいです：</p>



<pre class="wp-block-preformatted"><code>requests==2.31.0<br>numpy==1.24.3<br></code></pre>



<p>「パッケージ名==バージョン番号」という書き方さえ守れば、自由にカスタマイズできます！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc17">✅ 小技②：バージョンをあえて指定しない</span></h3>



<p>ときには「とにかく最新版でいいから、バージョン指定したくない」という場合もありますよね。</p>



<p>そんなときは、バージョン番号を書かずにこんなふうにすればOKです。</p>



<pre class="wp-block-preformatted"><code>flask<br>requests<br></code></pre>



<p>これで実行すると、<strong>最新版がインストールされます</strong>（ただし、環境によって動作が変わる可能性があるので注意！）</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">✅ 小技③：コメントを書いて整理できる</span></h3>



<p>実は、<code>requirements.txt</code>の中には<strong>コメント</strong>も書けます！<br>行の先頭に「<code>#</code>」をつければ、それは無視されます。</p>



<pre class="wp-block-preformatted"><code># Webアプリ用<br>Flask==2.2.2<br><br># データ処理用<br>pandas==2.0.3<br>numpy==1.24.3<br></code></pre>



<p>こうしておけば、他の人が見たときにもわかりやすいし、自分でも後から見て整理しやすいですよ！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc19">✅ 小技④：ファイルを用途別に分ける</span></h3>



<p>大きなプロジェクトでは、「本番用（production）」と「開発用（development）」でライブラリを分けることもよくあります。</p>



<pre class="wp-block-preformatted"><code>requirements.txt<br>dev-requirements.txt<br></code></pre>



<p>こんなふうにファイルを分けておくと、以下のように使い分けができます：</p>



<pre class="wp-block-preformatted"><code>pip install -r requirements.txt             # 本番環境用<br>pip install -r dev-requirements.txt         # 開発環境用<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc20">✅ 小技⑤：GitHubに一緒にアップしよう！</span></h3>



<p>PythonプロジェクトをGitHubなどにアップするなら、<strong>requirements.txtも一緒に公開</strong>しておきましょう！</p>



<p>他の人がそのプロジェクトを使いたいとき、ライブラリがそろってなかったらエラーになってしまいます。<br>でも、<code>requirements.txt</code>があれば、すぐにインストールできて再現性もバッチリ！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc21">💡 おまけ：中身を確認したいときは？</span></h3>



<p><code>requirements.txt</code>の中身をターミナルで見るには、次のコマンドを使えばOK！</p>



<pre class="wp-block-preformatted"><code>cat requirements.txt  # Mac/Linux<br>type requirements.txt # Windows<br></code></pre>



<p>ちょっとした確認にも便利ですよ！</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>これで、<code>requirements.txt</code>の基本から、実践的な使い方までバッチリですね！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc22">まとめ｜requirements.txtでPython環境をラクに再現しよう！</span></h2>



<p>Pythonのプロジェクトでは、環境構築でつまずくことがよくありますよね。<br>でも、<code>requirements.txt</code>を使えば、<strong>ライブラリの一括管理とインストールがとっても簡単</strong>になります！</p>



<p>もう一度ポイントをおさらいすると…</p>



<p>✅ 今使っているライブラリの一覧は <code>pip freeze &gt; requirements.txt</code> で出力！<br>✅ 新しい環境では <code>pip install -r requirements.txt</code> で一括インストール！<br>✅ ファイルは手動で編集・整理できて、バージョン指定も自由自在！</p>



<p>つまり、<code>requirements.txt</code>を使いこなせば、<strong>自分もチームも他の人も、同じPython環境で安心して開発できる</strong>ようになります。<br>はじめは難しそうに見えるかもしれませんが、一度覚えてしまえばずっと使える便利ワザですよ！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc23">あわせて読みたい</span></h3>



<ul class="wp-block-list">
<li>🔗 <a target="_blank" href="https://python.cbagames.jp/2025/06/16/python-pyinstaller-exe-guide/">【Win/Mac対応】Pythonスクリプトをexe化！PyInstallerで実行ファイルを作る方法</a><br>→ 作ったアプリを配布したいときに役立つ実行ファイル化の手順！</li>
</ul>



<h2 class="wp-block-heading"><span id="toc24">よくある質問（Q&amp;A）</span></h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content"><code>requirements.txt</code>はプロジェクトに毎回必要ですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p>必須ではありませんが、プロジェクトを他の人と共有したり、あとで同じ環境を再現したいときにあるととても便利です。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">特定のライブラリだけ入れたい場合はどうすればいい？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p>テキストエディタで<code>requirements.txt</code>を開き、必要なライブラリ以外の行を削除すればOKです。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content"><code>pip install -r requirements.txt</code> でエラーが出ました…</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p>ライブラリのバージョンが古すぎるか、新しすぎて見つからない可能性があります。該当の行を見直すか、バージョン指定を外してみましょう。</p>
</div></dd></dl></div>
]]></content:encoded>
					
					<wfw:commentRss>https://python.cbagames.jp/2025/06/16/python-requirements-txt-install/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gitの基本操作まとめ｜初心者向けにやさしく解説！</title>
		<link>https://python.cbagames.jp/2025/06/15/git-beginner-guide/</link>
					<comments>https://python.cbagames.jp/2025/06/15/git-beginner-guide/#respond</comments>
		
		<dc:creator><![CDATA[asukapy]]></dc:creator>
		<pubDate>Sun, 15 Jun 2025 01:45:40 +0000</pubDate>
				<category><![CDATA[Python入門]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Gitコマンド]]></category>
		<category><![CDATA[Git入門]]></category>
		<category><![CDATA[PyCharm]]></category>
		<category><![CDATA[ソースコード管理]]></category>
		<category><![CDATA[バージョン管理]]></category>
		<category><![CDATA[プログラミング初心者]]></category>
		<guid isPermaLink="false">https://python.cbagames.jp/?p=314</guid>

					<description><![CDATA[目次 1. はじめに｜Gitってなに？なぜ使うの？Gitってなに？なんで使うの？✅ 変更を記録できる！✅ チーム開発でも安心！✅ トラブルが起きても冷静になれるGitを使うとどんなことができるの？2. Gitの基本操作と [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4"><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">1. はじめに｜Gitってなに？なぜ使うの？</a><ol><li><a href="#toc2" tabindex="0">Gitってなに？</a></li><li><a href="#toc3" tabindex="0">なんで使うの？</a><ol><li><a href="#toc4" tabindex="0">✅ 変更を記録できる！</a></li><li><a href="#toc5" tabindex="0">✅ チーム開発でも安心！</a></li><li><a href="#toc6" tabindex="0">✅ トラブルが起きても冷静になれる</a></li></ol></li><li><a href="#toc7" tabindex="0">Gitを使うとどんなことができるの？</a></li></ol></li><li><a href="#toc8" tabindex="0">2. Gitの基本操作と概念をわかりやすく解説</a><ol><li><a href="#toc9" tabindex="0">🔰 リポジトリ（Repository）ってなに？</a><ol><li><a href="#toc10" tabindex="0">📌 リポジトリを作るには？</a></li></ol></li><li><a href="#toc11" tabindex="0">✍️ 変更を記録する「コミット（Commit）」</a><ol><li><a href="#toc12" tabindex="0">コミットまでの流れ：</a></li></ol></li><li><a href="#toc13" tabindex="0">🕵️‍♀️ 変更履歴を見る「git log」</a></li><li><a href="#toc14" tabindex="0">💡ステージングってなに？</a></li></ol></li><li><a href="#toc15" tabindex="0">3. 追跡されないファイルと.gitignoreの使い方</a><ol><li><a href="#toc16" tabindex="0">🔍 Untracked Files（追跡されていないファイル）とは？</a></li><li><a href="#toc17" tabindex="0">📥 追跡対象にするには？</a></li><li><a href="#toc18" tabindex="0">🙅‍♂️ 逆に「追跡したくないファイル」って？</a></li><li><a href="#toc19" tabindex="0">✨ .gitignore で無視するファイルを指定！</a><ol><li><a href="#toc20" tabindex="0">例：.gitignore の中身</a></li></ol></li><li><a href="#toc21" tabindex="0">💡ポイント</a></li></ol></li><li><a href="#toc22" tabindex="0">4. ブランチとマージの使い方</a><ol><li><a href="#toc23" tabindex="0">🌱 ブランチ（Branch）ってなに？</a><ol><li><a href="#toc24" tabindex="0">イメージ：</a></li></ol></li><li><a href="#toc25" tabindex="0">🛠️ ブランチの基本操作</a><ol><li><a href="#toc26" tabindex="0">✅ 新しいブランチを作って、すぐ切り替える</a></li><li><a href="#toc27" tabindex="0">✅ 既存のブランチに切り替える</a></li></ol></li><li><a href="#toc28" tabindex="0">🔄 マージ（Merge）とは？</a><ol><li><a href="#toc29" tabindex="0">✅ マージの手順</a></li></ol></li><li><a href="#toc30" tabindex="0">⚠️ コンフリクト（衝突）に注意！</a></li><li><a href="#toc31" tabindex="0">💡 どうしてブランチを使うの？</a></li></ol></li><li><a href="#toc32" tabindex="0">5. 変更の取り消し・元に戻す操作</a><ol><li><a href="#toc33" tabindex="0">🕰️ 過去の状態に戻すには？｜git reset</a><ol><li><a href="#toc34" tabindex="0">使い方：</a></li><li><a href="#toc35" tabindex="0">たとえば：</a></li></ol></li><li><a href="#toc36" tabindex="0">🔄 間違えた変更を「取り消す」｜git revert</a></li><li><a href="#toc37" tabindex="0">📝 編集前の状態に戻す｜git checkout（ファイル単位）</a></li><li><a href="#toc38" tabindex="0">🧯 こんなときに使えるよ！</a></li><li><a href="#toc39" tabindex="0">💡 安全にやり直すには？</a></li></ol></li><li><a href="#toc40" tabindex="0">6. PyCharmでGit操作をする方法</a><ol><li><a href="#toc41" tabindex="0">🧭 PyCharmでGitを使う準備</a></li><li><a href="#toc42" tabindex="0">📂 リポジトリの作成と初期化</a></li><li><a href="#toc43" tabindex="0">✍️ ファイルの追加・コミットも簡単！</a><ol><li><a href="#toc44" tabindex="0">ファイル変更後の操作</a></li><li><a href="#toc45" tabindex="0">コミット画面では…</a></li></ol></li><li><a href="#toc46" tabindex="0">🌿 ブランチやマージもGUIでらくらく</a><ol><li><a href="#toc47" tabindex="0">ブランチの操作</a></li><li><a href="#toc48" tabindex="0">マージも直感的！</a></li></ol></li><li><a href="#toc49" tabindex="0">⚔️ コンフリクトもPyCharmなら怖くない！</a></li><li><a href="#toc50" tabindex="0">💡 コマンドが苦手でも安心！</a></li></ol></li><li><a href="#toc51" tabindex="0">7. まとめ｜まずはローカルGitから始めよう</a><ol><li><a href="#toc52" tabindex="0">🔁 Gitでできることをおさらい！</a></li><li><a href="#toc53" tabindex="0">💡 はじめて使うなら「ローカルGit」から！</a></li><li><a href="#toc54" tabindex="0">🧭 次のステップは…？</a></li><li><a href="#toc55" tabindex="0">🧩 あわせて読みたい｜Gitの理解をさらに深める関連記事</a></li></ol></li><li><a href="#toc56" tabindex="0">よくある質問（Q&amp;A）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">1. はじめに｜Gitってなに？なぜ使うの？</span></h2>



<p>こんにちは！今回は、プログラミングの現場でとってもよく使われる「Git（ギット）」について、初心者さん向けにわかりやすく解説していきます。</p>



<h3 class="wp-block-heading"><span id="toc2">Gitってなに？</span></h3>



<p>Git（ギット）は、<strong>ソースコードの変更履歴を記録・管理するためのツール</strong>です。<br>たとえば、学校の作文で「前のバージョンに戻したい！」って思ったこと、ありませんか？Gitを使えば、それが<strong>一瞬でできちゃう</strong>んです！</p>



<h3 class="wp-block-heading"><span id="toc3">なんで使うの？</span></h3>



<p>「ひとりでコードを書くだけなら、履歴なんていらないんじゃ？」と思うかもしれませんが、Gitにはたくさんのメリットがあります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading"><span id="toc4">✅ 変更を記録できる！</span></h4>



<p>たとえば、「この前のバージョンのコードの方が良かったな…」と思ったとき、Gitが記録してくれていれば、<strong>すぐに元に戻せます</strong>。</p>



<h4 class="wp-block-heading"><span id="toc5">✅ チーム開発でも安心！</span></h4>



<p>もしあなたが誰かと一緒にアプリやWebサービスを作ることになったら、**「誰が、いつ、どこを変更したのか」**をGitが教えてくれます。これがあると、ミスやトラブルを防げるんです。</p>



<h4 class="wp-block-heading"><span id="toc6">✅ トラブルが起きても冷静になれる</span></h4>



<p>「やばい、コードが動かなくなった！」そんなときでも、Gitを使っていれば<strong>すぐに動いていた状態に戻せる</strong>ので、とっても安心。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc7">Gitを使うとどんなことができるの？</span></h3>



<p>Gitにはいろんな機能がありますが、まずは以下のような基本操作を覚えるだけでもOKです。</p>



<ul class="wp-block-list">
<li><strong>リポジトリを作る（git init）</strong></li>



<li><strong>変更を記録する（git commit）</strong></li>



<li><strong>過去の状態に戻す（git reset / git revert）</strong></li>



<li><strong>複数の作業を分ける（ブランチ）</strong></li>



<li><strong>作業を1つにまとめる（マージ）</strong></li>
</ul>



<p>「なにそれ難しそう…」と思うかもしれませんが、<strong>一つずつ覚えれば大丈夫！</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>この記事では、Gitの超基本から、実際に使うときのコマンド、PyCharmでの操作方法までやさしく紹介していきます。</p>



<p>それでは、Gitの世界へ一緒に入っていきましょう！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc8">2. Gitの基本操作と概念をわかりやすく解説</span></h2>



<p>ここからは、Gitの基本操作について、初心者の方にもわかりやすく順を追って説明していきます。ひとつひとつの意味や使い方を理解すれば、怖くありませんよ！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc9">🔰 リポジトリ（Repository）ってなに？</span></h3>



<p>まず最初に覚えておきたいのが「リポジトリ（通称：リポ）」です。</p>



<p><strong>リポジトリとは…</strong><br>プロジェクトのコードやファイルをまとめて管理する“入れ物”のようなものです。</p>



<p>たとえば、あなたがアプリを作るとしたら、その中には <code>main.py</code> や <code>README.md</code> など、いろんなファイルがありますよね？<br>それらをひとまとめにして、Gitで管理できるようにするのが「リポジトリ」です。</p>



<h4 class="wp-block-heading"><span id="toc10">📌 リポジトリを作るには？</span></h4>



<p>ターミナル（コマンドプロンプト）を開いて、プロジェクトのフォルダーでこのコマンドを打ちます：</p>



<pre class="wp-block-preformatted"><code>git init<br></code></pre>



<p>これで、そのフォルダーがGitで管理されるようになります。見えないところに <code>.git</code> という設定ファイルも自動で作られます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc11">✍️ 変更を記録する「コミット（Commit）」</span></h3>



<p>Gitでは、コードの変更を**「コミット」という単位で記録**します。</p>



<p>コミットをすると、その時点のコードの状態を「保存」できるので、あとからいつでもその状態に戻すことができます。</p>



<h4 class="wp-block-heading"><span id="toc12">コミットまでの流れ：</span></h4>



<ol class="wp-block-list">
<li><strong>現在の状態を確認する</strong></li>
</ol>



<pre class="wp-block-preformatted"><code>git status<br></code></pre>



<ol start="2" class="wp-block-list">
<li><strong>変更したファイルを「ステージング」に追加</strong></li>
</ol>



<pre class="wp-block-preformatted"><code>git add ファイル名<br></code></pre>



<p>または、すべての変更を一括で追加したい場合：</p>



<pre class="wp-block-preformatted"><code>git add .<br></code></pre>



<ol start="3" class="wp-block-list">
<li><strong>コミットする</strong></li>
</ol>



<pre class="wp-block-preformatted"><code>git commit -m "作業内容をわかりやすく書いたメッセージ"<br></code></pre>



<p>💡コミットするたびに、Gitはその時のコードの状態を「写真のように保存」してくれます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc13">🕵️‍♀️ 変更履歴を見る「git log」</span></h3>



<p>過去にどんなコミットをしたかを確認するには、このコマンドを使います：</p>



<pre class="wp-block-preformatted"><code>git log<br></code></pre>



<p>すると、過去のコミット一覧（誰が、いつ、何をしたか）がズラッと表示されます。まさに“履歴書”みたいな感じですね。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc14">💡ステージングってなに？</span></h3>



<p>「ステージング（staging）」とは、<strong>これから記録（コミット）したい変更を一時的にまとめる場所</strong>です。</p>



<p>たとえば、複数のファイルを編集したときに、「このファイルだけ先に保存したいな…」というとき、ステージングを使えば<strong>好きな変更だけを選んで保存できる</strong>んです。</p>



<p><code>git add</code> が「ステージに上げる」操作、<br><code>git commit</code> が「記録する」操作です。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>次は、Gitでよく出てくる「追跡されないファイル（Untracked Files）」と、それを無視する <code>.gitignore</code> の使い方について解説していきます！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc15">3. 追跡されないファイルと.gitignoreの使い方</span></h2>



<p>Gitを使っていると、<code>git status</code> コマンドを実行したときに、<br>「Untracked files（追跡されていないファイル）」という表示が出ることがあります。</p>



<p>これ、ちょっとドキッとしますよね。でも大丈夫！この章では、その正体と対処方法をわかりやすく説明します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc16">🔍 Untracked Files（追跡されていないファイル）とは？</span></h3>



<p>Gitは「どのファイルを管理するか」を自分で選ぶスタイルです。<br>つまり、<strong>勝手に全部のファイルを管理しない</strong>んです。</p>



<p>だから、プロジェクトに新しく追加したファイルは、最初は「未追跡（untracked）」として扱われます。</p>



<p>たとえば、こんな表示が出たら：</p>



<pre class="wp-block-preformatted"><code>Untracked files:<br>  new_file.py<br></code></pre>



<p>これは「<code>new_file.py</code> はまだGitに追加されてないよ〜」という意味です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc17">📥 追跡対象にするには？</span></h3>



<p>そのファイルをGitで管理したい場合は、<code>git add</code> でステージングに追加すればOK！</p>



<pre class="wp-block-preformatted"><code>git add new_file.py<br></code></pre>



<p>これで、次のコミットからちゃんと記録されるようになります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">🙅‍♂️ 逆に「追跡したくないファイル」って？</span></h3>



<p>ログファイルや一時ファイル、開発環境ごとの設定ファイルなど、<br><strong>毎回変更されるけど、履歴を残す必要がないファイル</strong>ってありますよね？</p>



<p>たとえば：</p>



<ul class="wp-block-list">
<li><code>.DS_Store</code>（Macの自動生成ファイル）</li>



<li><code>*.log</code>（ログファイル）</li>



<li><code>__pycache__/</code>（Pythonのキャッシュフォルダ）</li>
</ul>



<p>これらをGitに毎回「追加するかどうか確認される」のって面倒ですよね。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc19">✨ .gitignore で無視するファイルを指定！</span></h3>



<p>そんなときは、<strong><code>.gitignore</code> ファイル</strong>を使いましょう。</p>



<p><code>.gitignore</code> は、「このファイルやフォルダはGitで無視してね」と指示できる特別なファイルです。</p>



<h4 class="wp-block-heading"><span id="toc20">例：.gitignore の中身</span></h4>



<pre class="wp-block-preformatted"><code>*.log<br>.DS_Store<br>__pycache__/<br>.env<br></code></pre>



<p>このように書いておくと、上記のファイルやフォルダーはGitで管理されなくなります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc21">💡ポイント</span></h3>



<ul class="wp-block-list">
<li><code>.gitignore</code> はリポジトリの**ルートディレクトリ（最上位）**に作ります。</li>



<li>一度Gitで追跡を始めたファイルは、<code>.gitignore</code> に書いても無視されません。
<ul class="wp-block-list">
<li>→その場合は一度 <code>git rm --cached ファイル名</code> で追跡を解除しましょう。</li>
</ul>
</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>これで、余計なファイルをGitに入れずに、<strong>スッキリと管理</strong>できるようになります！</p>



<p>次は、Gitのとっても便利な機能「ブランチとマージの使い方」について紹介します。<br>新しい機能を追加するときや、チーム開発で役立つ考え方ですよ！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc22">4. ブランチとマージの使い方</span></h2>



<p>ここからは、Gitの強力な機能「ブランチ」と「マージ」について解説していきます。<br>ちょっと聞き慣れない言葉かもしれませんが、<strong>これがわかるとGitの便利さが一気に広がりますよ！</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc23">🌱 ブランチ（Branch）ってなに？</span></h3>



<p>ブランチとは、**作業の「分岐点」**のことです。<br>たとえば、「新しい機能を試したいけど、今のコードを壊したくないな…」ってときに、このブランチが活躍します！</p>



<p>ブランチを使えば、<strong>現在のコードを保ったまま、別の場所で自由に作業</strong>ができるんです。</p>



<h4 class="wp-block-heading"><span id="toc24">イメージ：</span></h4>



<ul class="wp-block-list">
<li>メインブランチ（<code>main</code>）＝ 安定した本番コード</li>



<li>新しいブランチ（<code>feature-x</code>）＝ 実験や新機能の開発</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc25">🛠️ ブランチの基本操作</span></h3>



<h4 class="wp-block-heading"><span id="toc26">✅ 新しいブランチを作って、すぐ切り替える</span></h4>



<pre class="wp-block-preformatted"><code>git checkout -b 新しいブランチ名<br></code></pre>



<p>たとえば、新しいログイン機能を作るときは：</p>



<pre class="wp-block-preformatted"><code>git checkout -b feature/login<br></code></pre>



<h4 class="wp-block-heading"><span id="toc27">✅ 既存のブランチに切り替える</span></h4>



<pre class="wp-block-preformatted"><code>git checkout ブランチ名<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc28">🔄 マージ（Merge）とは？</span></h3>



<p>マージは、<strong>あるブランチの変更内容を、別のブランチに取り込む操作</strong>です。</p>



<p>例：「<code>feature/login</code> で作った機能を <code>main</code> に統合する」という感じ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h4 class="wp-block-heading"><span id="toc29">✅ マージの手順</span></h4>



<ol class="wp-block-list">
<li>まず、<strong>取り込み先のブランチ（例：main）に切り替える</strong></li>
</ol>



<pre class="wp-block-preformatted"><code>git checkout main<br></code></pre>



<ol start="2" class="wp-block-list">
<li>つぎに、<strong>取り込みたいブランチをマージする</strong></li>
</ol>



<pre class="wp-block-preformatted"><code>git merge feature/login<br></code></pre>



<p>これで、<code>feature/login</code> での変更内容が <code>main</code> に反映されます！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc30">⚠️ コンフリクト（衝突）に注意！</span></h3>



<p>ブランチ同士で<strong>同じファイルの同じ場所を変更していた</strong>場合、Gitは自動でどちらを使えばいいかわからず、「コンフリクト（衝突）」が起こります。</p>



<p>でも安心してください！コンフリクトが起きたときは、Gitが該当部分を教えてくれるので、<strong>手動でどちらの変更を残すか選ぶだけ</strong>です。</p>



<p>PyCharmのようなIDEを使うと、GUIで左右に変更内容が表示されて、とっても直感的に解消できますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc31">💡 どうしてブランチを使うの？</span></h3>



<ul class="wp-block-list">
<li><strong>新機能の開発と本番コードを分けられる</strong></li>



<li><strong>複数人で同時に作業しやすい</strong></li>



<li><strong>安心して実験できる！</strong></li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>次は、間違ったときに便利な「変更の取り消し・元に戻す操作」について解説します。<br>Gitの「やり直し機能」はとっても強力です！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc32">5. 変更の取り消し・元に戻す操作</span></h2>



<p>「うわっ、間違えてファイル消しちゃった！」「この変更、やっぱりなかったことにしたい…」<br>そんなとき、Gitがあれば安心です！</p>



<p>この章では、<strong>変更のやり直しや過去の状態への復元</strong>の方法を、やさしく解説します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc33">🕰️ 過去の状態に戻すには？｜git reset</span></h3>



<p><code>git reset</code> は、<strong>指定したコミットの時点までコードを巻き戻す</strong>ためのコマンドです。</p>



<h4 class="wp-block-heading"><span id="toc34">使い方：</span></h4>



<pre class="wp-block-preformatted"><code>git reset --hard コミットID<br></code></pre>



<h4 class="wp-block-heading"><span id="toc35">たとえば：</span></h4>



<pre class="wp-block-preformatted"><code>git reset --hard a1b2c3d<br></code></pre>



<p>これで、<strong>そのコミット時点の状態に完全に戻ります</strong>。</p>



<p>⚠️注意！ <code>--hard</code> を使うと、<strong>現在の変更内容はすべて消えます</strong>（元に戻せません！）。使うときは慎重に！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc36">🔄 間違えた変更を「取り消す」｜git revert</span></h3>



<p><code>git revert</code> は、「この変更だけ取り消したいな」というときに便利です。</p>



<pre class="wp-block-preformatted"><code>git revert コミットID<br></code></pre>



<p>このコマンドは、<strong>指定したコミットの“逆の操作”を自動でやってくれる</strong>んです。</p>



<p>しかも、<strong>新しいコミットとして記録される</strong>ので、履歴も残って安心！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc37">📝 編集前の状態に戻す｜git checkout（ファイル単位）</span></h3>



<p>「このファイルだけ、変更前の状態に戻したい！」というときは、以下のようにします：</p>



<pre class="wp-block-preformatted"><code>git checkout -- ファイル名<br></code></pre>



<p>例：</p>



<pre class="wp-block-preformatted"><code>git checkout -- main.py<br></code></pre>



<p>これで、<strong>最新のコミット時点の内容に戻す</strong>ことができます。<br>ただし、<strong>ステージング前の状態に戻すだけ</strong>なので、完全な巻き戻しではありません。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc38">🧯 こんなときに使えるよ！</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>状況</th><th>コマンド例</th></tr></thead><tbody><tr><td>変更前の状態に一発で戻したい</td><td><code>git reset --hard</code></td></tr><tr><td>間違った変更だけを取り消したい</td><td><code>git revert</code></td></tr><tr><td>ファイルを個別に元に戻したい</td><td><code>git checkout -- ファイル名</code></td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc39">💡 安全にやり直すには？</span></h3>



<ul class="wp-block-list">
<li>最初は <code>git reset</code> よりも <code>git revert</code> を使う方が安全です。</li>



<li>作業の前に <code>git log</code> で履歴をよく確認しましょう。</li>



<li>怖いときは「ブランチをコピーしてから試す」のもアリ！</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>次は、PyCharmを使ったGit操作についてご紹介します！<br>コマンドが苦手でも、GUIで直感的に操作できるので、初心者さんにぴったりです😊</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc40">6. PyCharmでGit操作をする方法</span></h2>



<p>「コマンドラインってちょっと怖いな…」<br>そんな人におすすめなのが、<strong>PyCharmを使ったGit操作</strong>です！</p>



<p>PyCharmは、Python専用の開発ツール（IDE）で、<strong>Gitとの連携機能がとても充実していて使いやすい</strong>んです。</p>



<p>ここでは、PyCharmでできるGit操作と、その便利な使い方を紹介していきます！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc41">🧭 PyCharmでGitを使う準備</span></h3>



<p>まず、PyCharmでGitを使うには以下の設定を確認しておきましょう。</p>



<ol class="wp-block-list">
<li><strong>Gitがインストールされていること</strong><br>ターミナルで <code>git --version</code> と打って、バージョンが表示されればOK！</li>



<li><strong>PyCharmのGit設定を確認</strong><br>PyCharmの上部メニューから<br><code>File > Settings > Version Control > Git</code>（Macは <code>PyCharm > Preferences</code>）を開いて、<br><code>Path to Git executable</code> にGitのパスが入っていれば準備完了！</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc42">📂 リポジトリの作成と初期化</span></h3>



<p>PyCharmで新しいプロジェクトを作ったら、以下の手順でGit管理を開始できます。</p>



<ol class="wp-block-list">
<li>画面右下に「Git: Not Versioned」と表示される → クリック</li>



<li>「Enable Version Control Integration」を選択</li>



<li>「Git」を選んでOK！</li>
</ol>



<p>これで、リポジトリが初期化されて、<code>.git</code> フォルダが作成されます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc43">✍️ ファイルの追加・コミットも簡単！</span></h3>



<h4 class="wp-block-heading"><span id="toc44">ファイル変更後の操作</span></h4>



<ol class="wp-block-list">
<li>左のファイル一覧で、変更されたファイルに「青や赤のマーク」が表示されます。</li>



<li>変更内容を確認するには、ファイルを右クリック → <code>Git > Show Diff</code>。</li>



<li>コミットしたいときは、画面右上の <code>Commit</code> ボタンをクリック！</li>
</ol>



<h4 class="wp-block-heading"><span id="toc45">コミット画面では…</span></h4>



<ul class="wp-block-list">
<li>変更されたファイルが一覧で表示されます。</li>



<li>ファイルごとの変更差分（Diff）も一目で確認できます。</li>



<li>下にコメント欄があるので、「どんな変更をしたか」を書いて <code>Commit</code> ボタンを押すだけ！</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc46">🌿 ブランチやマージもGUIでらくらく</span></h3>



<h4 class="wp-block-heading"><span id="toc47">ブランチの操作</span></h4>



<ul class="wp-block-list">
<li>画面右下の「ブランチ名（例：main）」をクリックすると、ブランチ操作メニューが出ます。</li>



<li><code>New Branch</code> を選べば、新しいブランチをGUIから作成できます。</li>
</ul>



<h4 class="wp-block-heading"><span id="toc48">マージも直感的！</span></h4>



<ul class="wp-block-list">
<li><code>Git > Branches > Merge into Current</code> で、好きなブランチを選んでマージできます。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc49">⚔️ コンフリクトもPyCharmなら怖くない！</span></h3>



<p>もしマージ中に<strong>コンフリクト</strong>（衝突）が起きても大丈夫。</p>



<p>PyCharmでは、<strong>3ペインの専用画面で左右の変更点を見比べながら、どれを残すかを選ぶだけ！</strong></p>



<p>✔ 両方残すこともできる<br>✔ 片方を選ぶこともできる<br>✔ 自分で直接修正することも可能！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc50">💡 コマンドが苦手でも安心！</span></h3>



<p>PyCharmのGit機能を使えば…</p>



<ul class="wp-block-list">
<li>コミット、ブランチ、マージが<strong>すべてマウス操作でできる</strong></li>



<li>コンフリクトも<strong>視覚的に解決できる</strong></li>



<li>変更履歴も<strong>グラフでひと目でわかる</strong></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc51">7. まとめ｜まずはローカルGitから始めよう</span></h2>



<p>ここまで読んでいただき、本当にありがとうございます！<br>Gitって最初はとっつきにくい印象があるかもしれませんが、実際に使ってみると<strong>とっても便利で頼もしいツール</strong>です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc52">🔁 Gitでできることをおさらい！</span></h3>



<ul class="wp-block-list">
<li><strong>変更の履歴を残せる！</strong><br>→ コードの状態を“いつでも”戻せる安心感。</li>



<li><strong>作業をブランチで分けられる！</strong><br>→ 実験や新機能を、安全に進められる。</li>



<li><strong>チームでの開発にも強い！</strong><br>→ 誰がどこを直したのか、バッチリ記録。</li>



<li><strong>間違えてもすぐ取り消せる！</strong><br>→ 「やばい！」と思っても冷静にリセット or リバート。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc53">💡 はじめて使うなら「ローカルGit」から！</span></h3>



<p>Gitには「リモートリポジトリ（GitHubなど）」との連携もありますが、まずは<strong>自分のパソコン内（ローカル環境）だけで使うGit操作</strong>に慣れておくのがおすすめです。</p>



<p>コマンドラインでも、PyCharmのようなIDEでも、<strong>Gitの基本は同じ</strong>です。<br>一度覚えてしまえば、どんな開発現場でも役立ちます！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc54">🧭 次のステップは…？</span></h3>



<p>ローカルGitに慣れてきたら、ぜひ以下のステップにも挑戦してみてください！</p>



<ul class="wp-block-list">
<li>GitHubにアカウントを作る</li>



<li>リモートリポジトリと接続する（<code>git remote</code>, <code>git push</code> など）</li>



<li>Pull Request（プルリクエスト）でコードレビューを依頼する</li>



<li>CI/CDやIssue管理など、チーム開発のワークフローを学ぶ</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>Gitを使いこなすことは、プログラミングを長く楽しく続けていくうえでとても大きな力になります。<br>焦らず一歩ずつで大丈夫。あなたのペースで、Gitの世界に慣れていきましょう！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc55">🧩 あわせて読みたい｜Gitの理解をさらに深める関連記事</span></h3>



<p>Gitの基本操作を学んだら、次はこちらの記事もおすすめです。<br><strong>開発環境の整備やエラー解析、GitHubの活用にも挑戦してみましょう！</strong></p>



<ul class="wp-block-list">
<li>🔧 <a target="_blank" href="https://python.cbagames.jp/2025/06/10/vscode-ai-copilot-beginner/">VS CodeでAIを活用する方法（GitHub Copilotなど）</a><br>　→ GitHub Copilotを使えば、<strong>AIがコード補完やレビューをサポートしてくれる</strong>！</li>



<li>🐞 <a target="_blank" href="https://python.cbagames.jp/2025/06/12/python-traceback-how-to-read/">Pythonのトレースバックの読み方｜エラー解析の基本</a><br>　→ Gitと組み合わせて、<strong>エラー原因を履歴から素早く特定</strong>できるようになります。</li>



<li>📦 <a target="_blank" href="https://python.cbagames.jp/2025/06/11/python-custom-module-howto/">Python自作モジュールの作り方と使い方</a><br>　→ 複数ファイルでの開発時に、Gitでのバージョン管理が活きてきます！</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc56">よくある質問（Q&amp;A）</span></h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">GitとGitHubは何が違うの？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p>Gitは“ローカルで動くバージョン管理ツール”で、GitHubは“そのGitのデータをクラウド上で共有・管理するサービス”です。<br>Gitを使えるようになると、GitHubも自然と使えるようになりますよ！</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">Gitの操作って覚えるの難しそう…</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p>最初はむずかしく感じるかもしれませんが、よく使う操作は実は5つくらいです！<br><code>git init</code>, <code>git add</code>, <code>git commit</code>, <code>git status</code>, <code>git log</code> を覚えるだけでも十分スタートできます！</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">PyCharm以外のツールでもGitは使える？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p>はい！Visual Studio CodeやGitKraken、SourceTreeなど、Gitをサポートするツールはたくさんあります。<br>PyCharmはPython専用で使いやすいので、特に初心者さんにおすすめです。</p>
</div></dd></dl></div>
]]></content:encoded>
					
					<wfw:commentRss>https://python.cbagames.jp/2025/06/15/git-beginner-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GitHubのマージとリベース、どっちを使うべき？チーム開発で失敗しない運用ルールを解説！</title>
		<link>https://python.cbagames.jp/2025/06/08/github-merge-vs-rebase/</link>
					<comments>https://python.cbagames.jp/2025/06/08/github-merge-vs-rebase/#respond</comments>
		
		<dc:creator><![CDATA[asukapy]]></dc:creator>
		<pubDate>Sun, 08 Jun 2025 04:08:24 +0000</pubDate>
				<category><![CDATA[Python入門]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Git運用]]></category>
		<category><![CDATA[チーム開発]]></category>
		<category><![CDATA[バージョン管理]]></category>
		<category><![CDATA[マージ]]></category>
		<category><![CDATA[リベース]]></category>
		<category><![CDATA[初心者向け]]></category>
		<guid isPermaLink="false">https://python.cbagames.jp/?p=171</guid>

					<description><![CDATA[目次 1. はじめに｜GitHubの「マージ」と「リベース」って何？なぜ迷うの？2. マージとリベースの違いをやさしく解説🧩 マージ（merge）とは？🧹 リベース（rebase）とは？3. チーム開発での使い分けルール [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6"><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">1. はじめに｜GitHubの「マージ」と「リベース」って何？なぜ迷うの？</a></li><li><a href="#toc2" tabindex="0">2. マージとリベースの違いをやさしく解説</a><ol><li><a href="#toc3" tabindex="0">🧩 マージ（merge）とは？</a></li><li><a href="#toc4" tabindex="0">🧹 リベース（rebase）とは？</a></li></ol></li><li><a href="#toc5" tabindex="0">3. チーム開発での使い分けルール</a><ol><li><a href="#toc6" tabindex="0">✅ 基本方針：共有ブランチでは「マージ」、ローカルでは「リベース」</a></li><li><a href="#toc7" tabindex="0">📌 リベースは「共有前だけ」にしよう！</a></li><li><a href="#toc8" tabindex="0">💡プルリクエスト時は「Squash and Merge」も便利</a></li><li><a href="#toc9" tabindex="0">🔧 ブランチ運用ルールの例</a></li></ol></li><li><a href="#toc10" tabindex="0">4. よくあるトラブルとその回避法</a><ol><li><a href="#toc11" tabindex="0">❌ トラブル1：リベースしたら履歴が壊れた！</a></li><li><a href="#toc12" tabindex="0">❌ トラブル2：マージコミットが多すぎて履歴がグチャグチャ</a></li><li><a href="#toc13" tabindex="0">❌ トラブル3：複数人が同時にリベースして、衝突！</a></li><li><a href="#toc14" tabindex="0">💬 まとめ：トラブルは「共有」から起きる！</a></li></ol></li><li><a href="#toc15" tabindex="0">5. チームで決めておきたいGitの運用ルール</a><ol><li><a href="#toc16" tabindex="0">📘 ルール1：マージ戦略はあらかじめ決めておく！</a></li><li><a href="#toc17" tabindex="0">🧪 ルール2：CI（自動テスト）でマージの安全性をチェック！</a></li><li><a href="#toc18" tabindex="0">🛡 ルール3：ブランチ保護ルールを活用する</a></li><li><a href="#toc19" tabindex="0">🧾 ルール4：.gitconfigやツールで補助する</a></li><li><a href="#toc20" tabindex="0">📝 ルール5：ドキュメントにまとめて、いつでも見返せるように！</a></li></ol></li><li><a href="#toc21" tabindex="0">6. まとめ｜「正解」はない。でもチームで揃えるのが正解</a><ol><li><a href="#toc22" tabindex="0">🔗 あわせて読みたい</a></li></ol></li><li><a href="#toc23" tabindex="0">よくある質問（Q&amp;A）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">1. はじめに｜GitHubの「マージ」と「リベース」って何？なぜ迷うの？</span></h2>



<p>こんにちは！<br>チームでプログラミングをしていると、よく聞くのが「マージ（merge）する？リベース（rebase）する？」という会話。GitHubで複数人が同時にコードを書くとき、避けて通れないテーマです。</p>



<p>でも正直、最初はどっちを使えばいいのかよく分かりませんよね？<br>マージはなんとなく安全そうだけど履歴がゴチャゴチャになることもあるし、リベースは履歴がキレイになるって聞くけど、なんか怖そう…。</p>



<p>実際、「マージ派」と「リベース派」がぶつかることもよくあります（笑）。</p>



<p>この「マージ」と「リベース」は、どちらもブランチ（作業の分岐）を整理してひとつにまとめるための機能です。でも、それぞれ使い方や特徴が違っていて、<strong>場面によって正しい選択が変わる</strong>のがややこしいところ。</p>



<p>この記事では、</p>



<ul class="wp-block-list">
<li>そもそもマージとリベースって何なのか？</li>



<li>それぞれの違いやメリット・デメリット</li>



<li>チームで迷わない運用ルールの決め方</li>
</ul>



<p>などを、図や例もまじえてやさしく解説していきます！</p>



<p>「なんとなく使ってたけど、ちゃんと理解しておきたい！」という方にぴったりの内容です。<br>それでは、マージとリベースの違いを見ていきましょう！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc2">2. マージとリベースの違いをやさしく解説</span></h2>



<p>それではまず、「マージ」と「リベース」って何がどう違うのか？をイメージしやすく解説していきますね。</p>



<h3 class="wp-block-heading"><span id="toc3">🧩 マージ（merge）とは？</span></h3>



<p>マージは、<strong>別々のブランチの変更を1つにまとめる</strong>方法です。よく使うのが、開発用のブランチ（たとえば<code>feature/login</code>）をメインの<code>main</code>ブランチに取り込むとき。</p>



<pre class="wp-block-preformatted"><code>git checkout main<br>git merge feature/login<br></code></pre>



<p>こんな感じでマージすると、2つの履歴をそのままくっつけて、**「マージコミット」**という新しい記録が作られます。</p>



<p>🧠 <strong>メリット</strong></p>



<ul class="wp-block-list">
<li>複数人での開発履歴をそのまま残せる</li>



<li>操作ミスが少なく、初心者にもやさしい</li>
</ul>



<p>⚠️ <strong>デメリット</strong></p>



<ul class="wp-block-list">
<li>履歴が「枝分かれ」だらけになって、後から見ると少しゴチャゴチャ</li>
</ul>



<p>💡<strong>イメージ：</strong></p>



<pre class="wp-block-preformatted"><code>A---B---C (main)<br>     \<br>      D---E (feature/login)<br>            \<br>             F (merge commit)<br></code></pre>



<h3 class="wp-block-heading"><span id="toc4">🧹 リベース（rebase）とは？</span></h3>



<p>リベースは、<strong>別のブランチの変更履歴を、自分のブランチに“つけかえる”操作</strong>です。たとえば、<code>main</code>ブランチの最新状態に<code>feature/login</code>を載せかえるイメージ。</p>



<pre class="wp-block-preformatted"><code>git checkout feature/login<br>git rebase main<br></code></pre>



<p>こうすると、自分の作業（D, E）が<code>main</code>の末尾に「移動」する形になります。<br>結果、履歴が<strong>一直線</strong>になるのが特徴です。</p>



<p>🧠 <strong>メリット</strong></p>



<ul class="wp-block-list">
<li>履歴がキレイに直線になり、後から見やすい</li>



<li>「どんな変更をしたか」が明確になる</li>
</ul>



<p>⚠️ <strong>デメリット</strong></p>



<ul class="wp-block-list">
<li>操作を間違えると、履歴が壊れることも（とくに<code>--force</code>の使い方に注意！）</li>



<li>チーム開発で共有ブランチに使うとトラブルのもとになることも</li>
</ul>



<p>💡<strong>イメージ：</strong></p>



<pre class="wp-block-preformatted"><code>Before:<br>A---B---C (main)<br>     \<br>      D---E (feature/login)<br><br>After rebase:<br>A---B---C---D'---E' (feature/login)<br></code></pre>



<p>※D’とE’は、内容は同じでも「新しい履歴」として作り直されます。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このように、<strong>マージは「記録をそのまま残す」方法、リベースは「履歴を整理して並べかえる」方法</strong>です。</p>



<p>じゃあ、チーム開発ではどっちを使えばいいの？</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc5">3. チーム開発での使い分けルール</span></h2>



<p>マージとリベース、どっちも便利だけど、チームで使うとなると<strong>ルールを統一しないとトラブルのもと</strong>になります。<br>ここでは、チーム開発でよく使われるおすすめの使い分け方をご紹介します！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc6">✅ 基本方針：共有ブランチでは「マージ」、ローカルでは「リベース」</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>シチュエーション</th><th>推奨操作</th><th>理由</th></tr></thead><tbody><tr><td>mainブランチに取り込むとき</td><td>マージ</td><td>履歴を安全に保ちやすく、衝突が起きても調整しやすい</td></tr><tr><td>自分の作業ブランチで最新のmainを取り込むとき</td><td>リベース</td><td>履歴が直線的になって後から見やすくなる</td></tr><tr><td>プルリクエストを送るとき</td><td>Squash &amp; Merge推奨</td><td>1つのまとまったコミットとして取り込めるので履歴がスッキリ</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc7">📌 リベースは「共有前だけ」にしよう！</span></h3>



<p>リベースはとても便利なんですが、<strong>すでにGitHubにpushしたブランチ</strong>に対してリベースすると、「履歴が書き換わる」ために<strong>他のメンバーの作業が壊れる危険性</strong>があります。</p>



<p>特に<code>git push --force</code>は注意！</p>



<p>🚨 チームで共有しているブランチでは、<strong>リベース禁止 or 要相談</strong>が鉄則！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc8">💡プルリクエスト時は「Squash and Merge」も便利</span></h3>



<p>GitHub上でプルリクエストをマージするとき、「Merge」以外にもいくつか選択肢があります：</p>



<ul class="wp-block-list">
<li><strong>Create a merge commit（そのままマージ）</strong></li>



<li><strong>Squash and merge（全部まとめて1コミットにする）</strong></li>



<li><strong>Rebase and merge（履歴を直線にしてマージ）</strong></li>
</ul>



<p>特におすすめなのが「<strong>Squash and Merge</strong>」。<br>細かい作業コミットが多くても、<strong>1つの大きな変更として取り込める</strong>ので、履歴がとても見やすくなります！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc9">🔧 ブランチ運用ルールの例</span></h3>



<pre class="wp-block-preformatted"><code>main（常にリリース可能な状態）<br>├── develop（開発のベース）<br>│   ├── feature/○○（新機能）<br>│   ├── bugfix/○○（バグ修正）<br></code></pre>



<ul class="wp-block-list">
<li><code>feature/*</code>ブランチは、<code>develop</code>をrebaseして最新に保つ</li>



<li>GitHubでPRを出すときは「Squash and Merge」で履歴を整理</li>



<li><code>main</code>へのマージは責任者が行う（CIが通ったら）</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>次は、よくあるトラブル例とその防ぎ方について詳しく紹介します。<br>「履歴が壊れた！」「マージミスった！」を防ぎたい方は、ぜひ読んでみてください！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc10">4. よくあるトラブルとその回避法</span></h2>



<p>マージとリベース、ちゃんと使えばとても便利な機能ですが、<strong>使い方を間違えるとトラブルの原因になる</strong>ことも…。<br>ここでは、よくある失敗パターンとその対策をわかりやすく紹介します！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc11">❌ トラブル1：リベースしたら履歴が壊れた！</span></h3>



<p><strong>あるあるケース：</strong><br>GitHubにpush済みのブランチを、あとからリベースしてしまった。</p>



<p>その結果、</p>



<ul class="wp-block-list">
<li>他の人のpullがうまくいかない</li>



<li>コンフリクト地獄に突入…</li>
</ul>



<p>という事態に。</p>



<p>💡 <strong>対策</strong></p>



<ul class="wp-block-list">
<li><strong>共有ブランチでのリベースは原則NG！</strong></li>



<li>どうしても必要なときは、事前に「このあとリベースします！」と連絡してから行いましょう</li>



<li><code>--force-with-lease</code>を使うと安全（普通の<code>--force</code>は危険）</li>
</ul>



<pre class="wp-block-preformatted"><code>git push --force-with-lease<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc12">❌ トラブル2：マージコミットが多すぎて履歴がグチャグチャ</span></h3>



<p><strong>あるあるケース：</strong><br>毎回マージで開発を進めていたら、履歴が枝だらけに…。</p>



<pre class="wp-block-preformatted"><code>A---B---C---M---M2---M3...<br>       \    \   \<br>        D    E   F ...<br></code></pre>



<p>💡 <strong>対策</strong></p>



<ul class="wp-block-list">
<li>ローカルで作業ブランチを<code>rebase</code>してからマージすると、履歴がスッキリ</li>



<li>GitHubでの「Squash and Merge」もおすすめ</li>



<li>CIの整備で、マージのたびにテストを走らせるようにする</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc13">❌ トラブル3：複数人が同時にリベースして、衝突！</span></h3>



<p><strong>あるあるケース：</strong><br>2人以上が同じブランチをリベースして、どちらも<code>--force</code>で上書きしてしまった！</p>



<p>結果：</p>



<ul class="wp-block-list">
<li>どっちが最新かわからなくなる</li>



<li>片方の作業が消える or 上書きされることも</li>
</ul>



<p>💡 <strong>対策</strong></p>



<ul class="wp-block-list">
<li><strong>基本は1人だけがリベース＋pushを行う</strong></li>



<li>チームで「リベースする人は宣言する」ルールを決めよう</li>



<li>GitHubの保護ブランチ設定で<code>--force</code>を禁止するのもアリ</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc14">💬 まとめ：トラブルは「共有」から起きる！</span></h3>



<p>マージもリベースも、ローカルでやる分には安全です。<br><strong>でも、pushしてみんなと履歴を共有するタイミングが要注意！</strong></p>



<p>ちょっとした運用ルールや一言のコミュニケーションで、多くのトラブルは防げます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc15">5. チームで決めておきたいGitの運用ルール</span></h2>



<p>ここまで読んで「マージとリベース、それぞれ使いどころがあるんだなぁ」と感じた方も多いと思います。<br>でも、<strong>自分だけがルールを守っても、チーム全体で揃っていなければ意味がありません！</strong></p>



<p>ここでは、<strong>チーム開発でトラブルを防ぐために決めておきたいGitの運用ルール</strong>をまとめて紹介します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc16">📘 ルール1：マージ戦略はあらかじめ決めておく！</span></h3>



<p>GitHubのプルリクエストには、マージ方法が3つあります：</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>方法</th><th>特徴</th></tr></thead><tbody><tr><td>Merge commit</td><td>履歴にマージした記録（コミット）が残る</td></tr><tr><td>Squash and merge</td><td>コミットを1つにまとめて履歴がスッキリ</td></tr><tr><td>Rebase and merge</td><td>履歴を直線に並び替えて取り込む</td></tr></tbody></table></figure>



<p>👥 チームで「基本はSquashにしよう！」など、<strong>方針を統一</strong>しておくと、あとから履歴を見やすくなります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc17">🧪 ルール2：CI（自動テスト）でマージの安全性をチェック！</span></h3>



<p>マージ前にテストを通すのは、もはや必須の文化です。</p>



<ul class="wp-block-list">
<li>GitHub ActionsなどのCIツールを導入する</li>



<li>mainやdevelopへのマージは、テストに合格しないと許可しない設定にする</li>
</ul>



<p>これで「動かないコードをマージしちゃった！」という事故が防げます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">🛡 ルール3：ブランチ保護ルールを活用する</span></h3>



<p>GitHubでは、ブランチに対して保護ルールを設定できます。<br>たとえば：</p>



<ul class="wp-block-list">
<li><code>main</code>ブランチには直接push禁止</li>



<li>管理者のみマージできる</li>



<li><code>--force</code> pushをブロックする</li>
</ul>



<p>こうした設定をしておくことで、うっかり操作による破壊を防げます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc19">🧾 ルール4：.gitconfigやツールで補助する</span></h3>



<p><code>git</code>には設定ファイル（<code>.gitconfig</code>）があり、操作ミスを防ぐためのオプションもあります。</p>



<pre class="wp-block-preformatted"><code>[push]<br>    default = simple<br><br>[alias]<br>    st = status<br>    co = checkout<br>    br = branch<br></code></pre>



<p>また、GUIツール（例：GitHub Desktop、Sourcetree）を使えば、視覚的に操作できてミスが減ります。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc20">📝 ルール5：ドキュメントにまとめて、いつでも見返せるように！</span></h3>



<p>せっかくルールを決めても、メンバーが知らなければ意味がありません。</p>



<ul class="wp-block-list">
<li>チームのWikiやNotionに運用ルールを書いておく</li>



<li>最初のPRテンプレートに注意点を記載</li>



<li>Slackの固定メッセージで常に確認できるようにする</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>Gitの使い方は自由ですが、<strong>チームで開発するなら“統一”が何より大切</strong>です。<br>「なんとなく」ではなく、「こうしよう！」とみんなで話し合って、ルールを育てていきましょう！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc21">6. まとめ｜「正解」はない。でもチームで揃えるのが正解</span></h2>



<p>マージとリベース、どちらもGitを使う上では欠かせない便利な機能です。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>操作</th><th>特徴</th><th>向いている場面</th></tr></thead><tbody><tr><td>マージ</td><td>履歴をそのまま残す</td><td>mainブランチへの取り込み、安全第一の運用</td></tr><tr><td>リベース</td><td>履歴を整理して直線にする</td><td>ローカルの履歴整理や小規模な開発</td></tr></tbody></table></figure>



<p>大切なのは、<strong>どっちが正解か？ではなく、チームとしてどう使い分けるか</strong>。<br>そのためには、以下のようなポイントを意識しておきましょう。</p>



<ul class="wp-block-list">
<li>チームでGitの運用ルールを統一する（マージ戦略、リベースのタイミングなど）</li>



<li>トラブルが起きそうな場面では、事前に声かけ・共有をする</li>



<li>GitHubの機能（保護ブランチ、Squash and Mergeなど）をうまく活用する</li>
</ul>



<p>「履歴がキレイでトラブルも少ない」そんな開発環境を目指して、チームで話し合ってみてくださいね！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc22">🔗 あわせて読みたい</span></h3>



<ul class="wp-block-list">
<li><a target="_blank" href="https://python.cbagames.jp/2025/06/06/nameerror-indentationerror-fix/">Python初心者がよく出会う「NameError」と「IndentationError」の原因と解決法まとめ</a><br>Gitの操作ミスによるエラーにも強くなれる！</li>



<li><a target="_blank" href="https://python.cbagames.jp/2025/06/07/mini-projects-beginners-3/">Python初心者向け｜30分でできるミニプロジェクト3選【自動化・ゲーム・Web】</a><br>バージョン管理に慣れたら、自分のミニアプリを作ってみよう！</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc23">よくある質問（Q&amp;A）</span></h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">マージとリベース、初心者にはどっちが簡単？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p><strong>マージの方が失敗しにくく、初心者向きです。</strong><br>履歴が多少複雑になっても、安全性を優先したい場合はまずマージから慣れると良いでしょう。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">「git push &#8211;force」ってなぜ危ないの？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p><strong>他の人の履歴を書き換えてしまうからです。</strong><br>チームで共有されているブランチに対して&#8211;forceでpushすると、他の人の作業内容が消えることも。<br>安全な代替として <code>--force-with-lease</code> を使いましょう。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">Squash and Mergeってどういうときに使えばいい？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p><strong>PRの履歴を1つにまとめたいときに使います。</strong><br>細かいコミット（WIP、修正、修正2…など）をすっきりさせて、レビューしやすくするために活用されます</p>
</div></dd></dl></div>
]]></content:encoded>
					
					<wfw:commentRss>https://python.cbagames.jp/2025/06/08/github-merge-vs-rebase/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
