チュートリアル: PyCharm で Git 入門
このチュートリアルでは、PyCharm で最も一般的な Git 操作を実行する方法を紹介します。
このコースでは、プロジェクト用の Git リポジトリの作成方法、GitHub での共有方法、変更のコミットとプッシュ方法、ブランチの作成とマージ方法、マージの競合の解決方法、ファイルの履歴の調査方法を学びます。
ステップ 1. Git リポジトリで新しいプロジェクトを作成する
このチュートリアルでは、シンプルな project を作成し、それを GitHub で共有し、いくつかの Git タスクを行います。
PyCharm を起動し、 新規 | プロジェクト を ようこそ画面の左側のペインでクリックします。
新規プロジェクト ウィザードで、 新規プロジェクト リストから project タイプを選択し(このチュートリアルでは 空の Project を作成します)、project の名前(例:
gitdemo)を指定し、ロケーションパスを入力します。Git リポジトリの作成 オプションを選択してください。

作成 をクリックしてください。 新しい project が PyCharm で開きます。
project のためにローカルの Git リポジトリが作成されたことを知らせる通知が表示されます。
Git リポジトリを使用して新しいプロジェクトを作成したため、Git を操作するための専用ツールウィンドウが利用可能になります。

VCS ウィジェット: Git およびブランチを管理し 、Git の基本的な操作を実行します。
コミット ツールウィンドウ (Ctrl+K または ): ローカルの変更を確認し 、ローカルの Git リポジトリに コミットします。
ステップ 2. Git にファイル追加
Git 統合が有効になると、PyCharm はどのファイルが変更され、どの新しいファイルが Git に追加されたか、そしてどのファイルが Git によって追跡されていないかを表示します。
仕組みを学ぶために、簡単な説明を書いた簡単な README.md ファイルを作成し、それを Git に追加してみましょう。
Project ツールウィンドウ(Alt+1 )で、project ディレクトリ(
gitdemo)を選択します。ツールウィンドウのツールバーにある
新規ファイルまたはディレクトリ をクリック(または Alt+Insert を押す)し、リストから ファイル を選択します。 ファイル名を
README.mdにして Enter を押します。開いたダイアログで、 追加 をクリックして、Git がファイルの追跡を開始できるようにします。

これで、このファイルを変更すると、PyCharm が変更内容を自動的にインデックス化します(つまり、 Git ステージングエリアに追加されます)、そのため手動で行う必要はありません。
新しく作成したファイルに次のテキストを追加します。
# Tutorial This is a tutorial where you will learn how to create Git repositories from your projects and share them on GitHub.Enter キーを押して、このテキストの後に新しい行がファイル内に作成されるようにしてください。 これは後ほど、マージの競合を解決する方法を学ぶ際に使用します。

これで新しいファイルは Git によって追跡され、 コミット ツールウィンドウ (Alt+0) の 変更 変更リストに追加されます。

変更 の変更リストは、Git リポジトリにまだコミットされていないローカルの変更を管理できます。 詳しくは 変更を変更リストにグループ化する を参照してください。
ステップ 3. プロジェクトをローカル Git リポジトリにコミットする
次に、共有したいすべてのファイルをリポジトリに追加し、コミットして現在の状態を保存しましょう。
コミット ツールウィンドウ(Alt+0 )で、コミットしたいファイルの横にあるチェックボックスをクリックして選択します。
最初のコミットメッセージを入力してください(例:
Add a new project to Git):
コミット をクリックしてください。
お使いのコンピューターで Git を使用したことがない場合は、変更をコミットする直前に PyCharm がユーザー名とメールアドレスの入力を求めます。 Git はこれらの情報を
.git/configに保存し、コミットの作成者としてあなたを割り当てます。PyCharm は、コミットが成功した後に通知します。

ステップ 4. GitHub でプロジェクトを共有する
他のコントリビューターが project を利用できるようにするには、たとえば GitHub または GitLab などのリモートリポジトリに公開する必要があります。 PyCharm はこれらのプラットフォームの両方との統合を提供しています。 詳細は GitHub でホストされているプロジェクトを管理する および GitLab でホストされているプロジェクトを管理する をご覧ください。
このチュートリアルでは、project を GitHub に公開します。
メインメニューで へ移動します。
開いたダイアログでは、リポジトリ名(デフォルトでは project 名と同じ)、リモートの名前(デフォルトは
origin)、リポジトリの種類(公開または非公開)の選択、必要に応じて説明の追加ができます。リポジトリ名 と リモート のフィールドはデフォルト値のままにしてください。 非公開 オプションを選択してください。
GitHub に登録されていない場合は、 アカウントの追加 をクリックしてから GitHub でログイン をクリックします。

開いたブラウザーウィンドウに GitHub の認証情報を入力するか、そこで新しいアカウントを作成してください。 PyCharm に戻ると、 共有する フィールドにアカウント名が表示されます。
共有する をクリックしてください。 プロジェクトが GitHub で正常に公開されると、次の通知が表示されます。

通知のリンクをクリックして、GitHub のリポジトリを開きます。
ステップ 5. 新規ブランチの作成
たとえば、新しい機能に取り組んでいて、テスト前に変更をメインのブランチに反映させたくない場合には、別のブランチを作成する必要があります。
Ctrl+T を押すか、 Git | プロジェクトの更新 に移動します。 開いた プロジェクトの更新 ダイアログで、デフォルトのマージオプションのままにします。 OK をクリックして、現在のブランチの最新バージョンを取得します。

開いたダイアログで、ブランチの名前(例:
new_feature)を指定し、 ブランチをチェックアウトする オプションを選択すると、すぐに新しいブランチに切り替わります。
これで、新しく作成されたブランチに切り替わります。

ステップ 6. 変更を加えて表示する
project に新しいファイル(例:
git-features.md)を追加し、PyCharm が Git のバージョン管理に追加するよう提案したら 追加 をクリックします。その後、
README.mdファイルを開き、既存のテキストを新しい説明に置き換えます。# Demo This is a demo project where you will learn how to commit and push changes, create and merge branches. Refer to `git-features.md` to check the list of Git operations.Project ツールウィンドウ(Alt+1 )やエディタータブで、PyCharm はファイルごとに異なる色を適用します:修正済みは青、新規追加は緑です。 さらに、変更済みファイルのガター領域には、変更内容を示す色付きマーカーが表示されます。

具体的に何が変更されたかを確認するには、ガターマーカーをクリックします。

別のエディタータブで違いを表示するには、
行の差異を表示 をクリックしてください。

すべての変更を一度にプレビューするには、 コミット ツールウィンドウ(Alt+0 )に移動してください。 ファイルをダブルクリックすると、エディターで差分ビューが開きます。

詳細は Git リポジトリの変更を調査する を参照してください。
ステップ 7. 変更をコミットしてプッシュする
new_feature ブランチでは、新しい git-features.md ファイルを作成し、 README.md ファイルを変更しました。 変更をコミットして、リモートリポジトリにプッシュしましょう。
コミット ツールウィンドウ(Alt+0 )で、両方のファイルの横にあるチェックボックスを選択し、コミットメッセージ(例:
Update README.md)を入力します。コミットメッセージを入力するとき、project ファイル名には 自動補完 (Ctrl+Space )を利用できます:

コミット をクリックしてください。
Ctrl+Shift+K をプッシュするか、メインメニューから を選択して、変更内容をリモートリポジトリにプッシュします。 「コミットのプッシュ 」ダイアログが開きます。 ここで、プッシュされるすべてのコミットと、影響を受けるすべてのファイルを確認できます。
変更をプッシュする前に、各ファイルの違いを確認できます。 これを行うには、ファイルを右クリックして
差分の表示 を選択するか、 Ctrl+D をプッシュします。

プッシュ をクリックしてください。
その後、PyCharm はすべての変更を GitHub 上のリモートリポジトリにプッシュします。
ステップ 8. ブランチをマージし、競合を解決する
変更をあるブランチから別のブランチへ適用する方法には、マージやリベース、コミットのチェリーピック、個別の変更・ファイルの適用など様々な方法があります。 これらの方法の詳細は マージ、リベース、チェリーピックで変更を適用 で説明しています。
このチュートリアルでは、2 つのブランチをマージする方法を学びます。 また、PyCharm のマージツールを使用してマージの競合を簡単に解決する方法を学ぶために、意図的にマージの競合を発生させます。
ブランチのマージ
Git ブランチ ウィジェットで
mainブランチを選択し、 チェックアウト をクリックします。ステップ 6 では、
new_featureブランチ内のREADME.mdファイルを変更しました。 次に、マージの競合をシミュレートするために、mainブランチ内のテキストをもう一度更新してみましょう。# Tutorial This is a test project where you will learn how to work with the most popular Git operations.ステップ 2 で行ったように、このテキストの後に新しい行が作成されるように、 Enter を押してください。 これは、後々の競合解決に役立ちます。
ステップ 7 の説明に従って変更をコミットしてプッシュします。 コミットメッセージを記述します (例:
Add information about Git tutorial)。VCS ウィジェットの ローカル ノードで、
new_featureを選択し、 「new_feature」を「main」にマージする をクリックします。
異なるブランチの同じファイルに変更を加えたため、 競合 ダイアログが表示されます。

競合を解決する
競合 ダイアログには、競合を解決するためのいくつかのオプションがあります。
自分側を適用 は、現在のブランチで行われた変更を保持します。
相手側を適用 は、現在のブランチにマージする変更を適用します。
専用のダイアログで手動で競合を解決するには、 マージします。
マージします をクリックしてください。 リビジョンをマージ ダイアログが開きます。

メインからの変更点 と呼ばれる左側のペインには、ローカルコピーからの読み取り専用の変更が表示されます。
new_feature からの変更点 と呼ばれる右側のペインには、
mainにマージするnew_featureブランチからの読み取り専用の受信変更が表示されます。結果 と呼ばれる中央のペインは、競合を解決した結果を表示する、完全に機能するエディターです。
このダイアログでは、
/
をクリックして変更を承認するか、
をクリックして変更を却下し、中央の 結果 ペインにコードを入力できます。 詳しくは Git の競合を解決する をご覧ください。
左ペインの
mainからの変更を 1 つ受け入れるために、をクリックします。 同じ行に対する
new_featureからの変更は不要なので、右ペインの赤い競合行にあるをクリックして破棄します。
new_featureからの残りの競合しない変更については、右側のペインでをクリックします。
中央のパネルで結合結果を確認します。 結合されたテキストは次のようになります。
# Demo This is a test project where you will learn how to work with the most popular Git operations. Refer to `git-features.md` to check the list of Git operations.
適用 をクリックしてください。
PyCharm は
new_featureブランチをmainブランチにマージします。Ctrl+Shift+K をプッシュするか、メインメニューから を選択して、変更をリモートリポジトリにプッシュします。
Gitサポート ツールウィンドウ(Alt+9 )の ログ タブで、すべてのブランチのコミットを確認できます。

ここから、コミットを元に戻したり、あるブランチから別のブランチに変更をチェリーピックしたりすることもできます。 詳しくは ログタブ を参照してください。
ステップ 9. 履歴を表示
他の人と project で作業している場合、このファイルがなぜ、いつ、どのように変更されたのか疑問に思うことがあるかもしれません。
main ブランチ内の README.md ファイルを開きます。 これらの変更がどのコミットからのものなのかを確認するには、次のいずれかを実行します。
エディター内または Project ツールウィンドウ(Alt+1 )でファイルを右クリックし、「 」を選択します。 Gitサポート ツールウィンドウの ヒストリー タブが開きます。

このタブでは、ファイルに影響を与えたすべてのコミットを表示し、関心のある変更が追加されたコミットを確認できます。
エディターで、履歴を表示したいコード断片を選択し、選択範囲を右クリックして「 」を選択します。 すると、「選定の歴史 」ダイアログが開きます。

ここでは、関心のあるコード選択に影響を与えたすべてのコミットを確認できます。
Git リポジトリの変更を調査する で Git 履歴を調べる他の方法も確認できます。
要約
このチュートリアルでは、次の方法を学習しました。
ローカルの Git リポジトリを備えた プロジェクトの作成
Git にファイル追加とトラックの変更
プロジェクトの状態を保存するには、 変更のコミットを使用します。
プロジェクトを共有する on GitHub
ブランチ間の 作成と切り替え
次のステップ
このチュートリアルで特定の Git タスクの手順が見つからない場合は、 Gitサポート ガイドラインを参照してください。そこに IDE から実施できるすべての Git 操作が記載されています。
project が Git の管理下になくても、 ローカル履歴機能を使ってローカルの変更の追跡や管理、特定ファイルの状態へのロールバック、削除したファイルの復元などが行えます。
