> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gitペインの使い方

> Project EditorでバージョンコントロールやブランチManagement、コラボレーションにGitペインを活用する方法を学ぶ。

ReplitのGitペインはGit操作のビジュアルインターフェイスを提供し、コマンドラインGitコマンドを使う必要をなくします。この機能により、初心者でもバージョン管理にアクセスしやすくなり、経験豊富な開発者にも十分なパワーを提供します。

## 機能

Gitペインは、Project Editor内で直接包括的なバージョン管理機能を提供し、複雑なGit操作をシンプルにするユーザーフレンドリーなインターフェイスを備えています。

* **リポジトリ管理**: GitHub連携でGitリポジトリを初期化・接続・管理
* **コミット追跡**: すべてのファイルの変更をステージ、コミット、確認
* **ブランチ操作**: ブランチをビジュアルで作成・切り替え・マージ
* **コンフリクト解決**: マージの競合をビジュアルで特定・解決
* **Shell連携**: Shellで実行したGitコマンドとGitペインの同期

## 使い方

### リポジトリのセットアップ

<Accordion title="Gitペインにアクセスする方法">
  1. Replit AppのToolsセクションに移動
  2. **+** アイコンを選択して新しいツールを追加
  3. 利用可能なツールの一覧から **Git** を選択
</Accordion>

Gitペインはリポジトリのセットアップと接続をサポートします：

* **リポジトリの初期化**: Replit App用の新しいGitリポジトリを作成
* **GitHubへの接続**: バックアップとコラボレーションのためにリポジトリをGitHubにリンク
* **リモートの設定**: GitHubリポジトリへの接続をセットアップ・管理

<Frame>
  <img src="https://mintcdn.com/replit/rBzGsKp9NcWJ7sib/images/gh/pane/01-git-pane.png?fit=max&auto=format&n=rBzGsKp9NcWJ7sib&q=85&s=8173abb36daae9b8f60646cf259bf0dc" alt="リポジトリ初期化ボタンが表示されているGitペイン" width="230" height="314" data-path="images/gh/pane/01-git-pane.png" />
</Frame>

### 変更管理

<Accordion title="変更を確認する方法">
  1. Replit App内の任意のファイルに変更を加える
  2. ToolsセクションからGitペインを開く
  3. **Review Changes** セクションで変更を確認する
</Accordion>

Gitペインはコードの変更を管理するツールを提供します：

* **変更の確認**: 追加・削除がハイライトされた変更済みファイルを表示
* **ファイルのステージ**: 次のコミットに含める特定のファイルを選択
* **変更のコミット**: 説明的なメッセージで変更を保存
* **更新のプッシュ**: 1回のクリックでコミットをGitHubに送信

<Frame>
  <img src="https://mintcdn.com/replit/rBzGsKp9NcWJ7sib/images/gh/pane/06-stage-commit-changes.png?fit=max&auto=format&n=rBzGsKp9NcWJ7sib&q=85&s=bf166d48de3a57be08343b79ea5ff900" alt="コミットメッセージフィールドとステージオプションが表示されているGitペイン" width="526" height="211" data-path="images/gh/pane/06-stage-commit-changes.png" />
</Frame>

<Note>
  Replit AIを使用して、変更内容を正確に説明するコミットメッセージの生成を支援してもらえます。
</Note>

### ブランチ管理

<Accordion title="ブランチを管理する方法">
  1. ToolsセクションからGitペインを開く
  2. ブランチ名の横にあるブランチドロップダウンを選択
  3. 新しいブランチを作成するか、既存のブランチを選択する
</Accordion>

Gitペインはコードの複数バージョンの操作をシンプルにします：

* **ブランチの作成**: 機能を個別に開発するための新しいブランチを作成
* **ブランチの切り替え**: コードの異なるバージョン間を移動
* **ブランチのパブリッシュ**: GitHubにブランチを共有
* **変更のプル**: コラボレーターからのリモート更新を同期

<Frame>
  <img src="https://mintcdn.com/replit/rBzGsKp9NcWJ7sib/images/gh/pane/08-new-branch.png?fit=max&auto=format&n=rBzGsKp9NcWJ7sib&q=85&s=a9cab3e787687b8fbbf11103b8b86b20" alt="ブランチ作成インターフェイスが表示されているGitペイン" width="526" height="83" data-path="images/gh/pane/08-new-branch.png" />
</Frame>

### マージの競合解決

<Accordion title="マージの競合を解決する方法">
  1. 競合が存在する場合に変更をプルしようとする
  2. Gitペインが競合しているファイルをハイライト表示する
  3. 競合している各ファイルを開いて競合を確認・解決する
  4. 競合を解決した後にファイルを保存する
  5. **Pull** を選択してマージを完了する
</Accordion>

異なるソースのコードが競合した場合、Gitペインが以下をサポートします：

* **競合の特定**: どのファイルに競合があるかを正確に表示
* **差分の可視化**: 競合するコードの両バージョンを確認
* **問題の解決**: どのコードを残すかを選択するか、競合を手動で編集
* **マージの完了**: 競合解決後にマージプロセスを完了

<Frame>
  <img src="https://mintcdn.com/replit/rBzGsKp9NcWJ7sib/images/gh/pane/11-merge-conflict.png?fit=max&auto=format&n=rBzGsKp9NcWJ7sib&q=85&s=f02773231068c03053c9c80d75ded53f" alt="マージ競合マーカーが表示されているコードエディター" width="526" height="108" data-path="images/gh/pane/11-merge-conflict.png" />
</Frame>

競合したファイルを解決した後、競合シンボルで始まる行を削除して競合マーカーを取り除き、ファイルを保存できます。

### ShellでGitコマンドを使用する

<Accordion title="Shellにアクセスする方法">
  1. 左側のToolドックから **All tools** を選択
  2. 利用可能なツールから **Shell** を選択
</Accordion>

<Tip>
  Gitペインはユーザーフレンドリーなインターフェイスを提供していますが、パワーユーザーはShellで標準のGitコマンドを使って、より複雑な操作を行うことができます。どちらの方法で行った変更も両方の場所に反映されます。
</Tip>

コマンドラインでGitを使いたい場合：

* **コマンド同期**: ShellでGitコマンドを実行すると自動的にGitペインに同期
* **完全なGit機能**: Gitペインでは使えない高度なGit機能にアクセス
* **シームレスな切り替え**: ShellコマンドとGitペインを必要に応じて切り替え

<Info>
  **GitHub CLIとGitLab CLIのサポート**: 標準のGitコマンドに加えて、Shellで [GitHub CLI](https://docs.github.com/en/github-cli) (`gh`) や [GitLab CLI](https://docs.gitlab.com/ee/editor_extensions/gitlab_cli/) (`glab`) を使用して外部のGitリポジトリを管理・接続できます。これらのツールは、プルリクエスト、Issues、その他のプラットフォーム固有の機能など、GitHubおよびGitLabリポジトリとの連携機能を向上させます。
</Info>

#### リポジトリ操作

* **リポジトリのクローン**: `git clone <url-to-repository>`
* **リポジトリの初期化**: `git init`
* **リモートの追加**: `git remote add origin <url-to-repository>`

#### 変更を加える

* **ステータスの確認**: `git status`（変更・追加・削除されたファイルを表示）
* **ファイルのステージ**: `git add <filename>` または `git add .`（すべてのファイル）
* **変更のコミット**: `git commit -m "your commit message"`
* **変更のプッシュ**: `git push origin <branch-name>`
* **変更のプル**: `git pull origin <branch-name>`

#### 認証

プライベートリポジトリを操作する場合、認証が必要です：

* GitHubリポジトリの場合、パスワードの代わりに個人アクセストークンを使用
* 認証情報の再入力を避けるため、Replit Secretsを使って保存できます：
  1. キー `GIT_URL` で新しいシークレットを作成
  2. 値を `https://<username>:<token>@github.com/<user-or-org>/<repository>` に設定
  3. `git push $GIT_URL` を使用して、認証情報を入力せずにプッシュ

<Note>
  認証情報をシークレットとして使用する場合、Replit Appにアクセスできる人は誰でもあなたのGit認証情報にアクセスできる可能性があります。機密性の高いリポジトリでは、毎回手動で認証情報を入力することを検討してください。
</Note>
