Git パネルを使用したソース管理の管理 - AWS Cloud9

Git パネルを使用したソース管理の管理

AWS Cloud9 の Git パネル拡張機能は、コアとアドバンスト Git コマンドの両方に便利なユーザーインターフェイスアクセスを提供します。

このセクションは、ソース管理のためにキーとなる Git の特徴にアクセスする方法を示します。この手順では、Git パネルメニューを使用して、リポジトリとそのコンテンツに対して Git コマンドを実行します。


      Git リポジトリの初期化およびクローン化のためのインタフェースオプション

Git パネルの検索ボックスに名前を入力することで、サポートされている Git コマンドにアクセスすることもできます。


      Git リポジトリの初期化およびクローン化のためのインタフェースオプション

また、Git パネルインターフェイスと対話するときに実行される実際の Git コマンドを表示できます。コマンドラインアクティビティを表示するには、Git パネルメニューに移動し、Git 出力を表示を選択します。


      Git コマンド出力の表示

Git リポジトリを初期化またはクローン化するには

Gitリポジトリ(「repo」)には、プロジェクトの最初から完全な履歴が含まれています。リポジトリは、ステージングされたファイルをそのレポジトリにコミットするたびにキャプチャされたプロジェクトコンテンツのすべてのスナップショットで構成されます。

Gitパネルは、Gitリポジトリを取得する両方の方法をサポートしています。

  • 既存のディレクトリを Git リポジトリとして初期化します。

  • 既存のリポジトリをクローンし、ローカルディレクトリにコピーします。


        Git リポジトリの初期化およびクローン化のためのインタフェースオプション
注記

リポジトリの初期化およびクローン化のためのインタフェースオプションは、環境内のワークスペースフォルダに Git リポジトリをまだ追加していない場合にのみ使用できます。リポジトリの作業ディレクトリがすでに存在する場合、Git パネルウィンドウに作業ディレクトリのステータスとステージングエリアが表示されます。[Git パネル]メニューを使用して、リポジトリに対して実行できる Git コマンドにアクセスすることもできます。

リポジトリを初期化またはクローン化するには

  1. Git パネルがまだ利用できない場合は、ウィンドウソースコントロールをクリックし、Git アイコンを選択します。

    注記

    キーボードショートカット Ctrl+Shift+G を使用してGitパネルを開くこともできます。

  2. 新しい repo を初期化するか、既存の repo をクローンするかを選択します。

    Initialize a repository
    • Git パネルでリポジトリを初期化するを選択します。

    • 次に、Git repo が初期化されるワークスペースフォルダを選択します。フォルダへのパスを入力したり、パスを選択したり、ダイアログボックスでフォルダを選択したりできます。

    • ダイアログボックスを使用している場合は、移動先フォルダを選択し、リポジトリの初期化するを選択します。

    
                  Git repo のワークスペースフォルダを選択する

    選択したフォルダで Git repo を初期化すると、Git パネルには、そのフォルダに既に存在する任意のファイルが追跡されていない状態で表示され、Git ステージングエリアに追加できる状態になります。

    
                  repo のワークスペースフォルダを選択する
    Clone a repository
    • Git パネルウィンドウでリポジトリのクローンを作成するを選択します。

    • 次に、クローンを作りたいリモート repo の URL (GitHub でホストされている repo をクローンする https://github.com/my-own-repo/my-repo-project-name.git など) を入力し、戻るを押します。

    • 表示されたダイアログボックスで、クローンされた repo のワークスペースフォルダを選択し、リポジトリの場所を選択を選択します。

    注記

    外部サイト (GitHub など) でホストされているリポジトリにアクセスする場合、プロセスを完了するには、サイトのユーザー名とパスワードも入力する必要があります。

    選択したフォルダにリモート repo をクローンした後、git pull コマンドを使用して、ローカルリポジトリをリモートリポジトリ内の最新の変更と同期します。詳細については、「リモートリポジトリを操作する」を参照してください。

ファイルのステージングとコミット

Git リポジトリを取得した後、2 ステップのプロセスを使用してコンテンツを入力をスタートできます。

  1. 追跡されていないコンテンツまたは最近変更されたコンテンツをステージングエリアに追加します。

  2. ステージングエリアのファイルを作業ディレクトリにコミットします。

重要

作業ディレクトリ内のすべてのファイルをリポジトリにコミットしたくない場合があります。たとえば、ランタイムに生成されたファイルをプロジェクトのリポジトリに追加したくなることはまずありません。Git パネルを使用すると、.gitignore ファイルでリストに追加して、ファイルを無視するようにマークできます。

.gitignore でリストを更新するには、ステージングエリアに追加されていないファイルを右クリックし、.gitignore にファイルを追加を選択します。IDE が .gitignore ファイルを開き、選択したファイルの名前が無視されるファイルリストに追加されます。

.gitignore でパターンマッチングを使ったファイルの種類を除外に関する情報については、関連するgit-scm.comサイトのリファレンスを参照してください。

Stage files

ステージングエリアに追加されていない未追跡ファイル (「U」というラベル) および変更されたファイル (「M」というラベル) は、Git パネルペインの変更の下でリストされます。


              git repo のワークスペースフォルダ内の未追跡コンテンツ

Git パネルインターフェイスを使用して、特定のファイル、またはすべての未追跡ファイルおよび変更されたファイルをステージングエリアに追加できます。

  • 特定のファイル: ファイルを一時停止し、+を選択して、ステージングエリアに追加します。または、ファイルを右クリックしてステージの変更を選択します。

  • すべてのファイル: Git パネルメニューに移動し、すべての変更をステージングを選択します。

リポジトリのインデックスに追加されたファイルは、ステージングされた変更の下でリストにされます。以前に追跡されていないファイルは「A」というラベルが付けられ、ステージングされたことが示されます。


              Git repo のワークスペースフォルダにコンテンツをステージングする
注記

特定の変更またはすべての変更をステージング解除できます。1 つのファイルの場合は、そのファイルを一時停止し、-を選択します。または、右クリックして変更をステージング解除を選択します。すべての変更をステージング解除するには、Git パネルメニューに移動し、すべての変更をステージング解除を選択します。

Commit files

Gitの commit コマンドを使用して、ステージングされたファイルをリポジトリ内の永続的なスナップショットとしてキャプチャします。Git パネルインターフェイスを使用して、コミットするファイルを選択できます。

  • ステージングエリアでファイルをコミットする:Git パネルメニューに移動し、コミットを選択するか、ステージングされたファイルをコミットします。

  • 作業ディレクトリ内のすべてのファイルをコミットする: [Git パネル]メニューに移動し、すべてコミットを選択します。(このオプションは git commit を呼び出す前に、ファイルをステージングエリアに追加するため、git add を使用します。)

注記

また、Gitパネルでファイルをコミットするときには、amend および signed-off オプションの使用も可能です。amend オプションは、最新のコミットのコミットメッセージを変更します。sign-off オプションは、Git ログでコミットを実行した人を特定できます。

また、Git パネルメニューに移動して、コミットを選択し、前回のコミットを取り消しを選択して、コミットを反転させることもできます。

異なるファイルバージョンの表示

ステージングまたはコミット後に変更されたファイルのバージョンを比較できます。

  • 変更の下でリストされたファイル:「M」を選択すると、作業ディレクトリのバージョンと、最後にステージングまたは最後に repo をコミットしたバージョンの違いが表示されます。

  • ステージングされた変更の下でリストされたファイル: ステージングエリアのバージョンと最後に repo をコミットしたバージョンの違いを表示するには、「M」を選択します。

「M」を選択すると、IDE ウィンドウに 2 つのバージョンのファイルの違いが表示されます。一方の側には、リポジトリ内で現行版として追跡されているバージョンが表示されます。もう一方の側には、まだコミットされていない変更されたバージョンが表示されます。


        Git repo でバージョン管理されたコンテンツを区別する

ブランチの操作

Git のおかげで、リポジトリのメインブランチとは独立したブランチの新たな特徴の操作を許可するワークフロー管理が大幅に容易になります。複数のブランチをシームレスに切り替えることができ、メインブランチに簡単に構築できるソースコードが常に存在します。

ブランチを作成する

ブランチを作成するには、ブランチに名前を付け、開始点を選択します。

  1. Git パネルメニューで、チェックアウト先を選択。または、Git パネルの下部に表示される現在のブランチの名前を選択することもできます。

    
            現在の Git ブランチを選択する
  2. 新しいブランチを作成するためのオプションを選択します。

    • 新しいブランチを作成する: 新しいブランチは、現在のブランチの最後のコミットから始まります。

    • 新しいブランチの作成元: 新しいブランチは、後続の画面で選択したブランチの最後のコミットから始まります。

  3. 新しいブランチの名前を入力します。

  4. ブランチの開始点として特定のブランチを指定する場合は、一覧から選択します。

新しいブランチに切り替えた後、Git パネルの下部を表示することで、現在のブランチの名前をチェックできます。

注記

リモートリポジトリで作業している場合は、新しいブランチを発行して、アップストリームのリモートリポジトリに発行して、他のユーザーによる自分のコンテンツへのアクセスを許可します。

ブランチを切り替える

Git でソース管理のキーとなる利点の1つは、ブランチを切り替えるだけで様々なプロジェクトの間をジャンプできることです。

重要

リポジトリにこみっとしていないファイルが現在のブランチにある場合は、ブランチを切り替えることはできません。まず、仕事をコミットするか、仕事をstashして、作業ディレクトリをクリーンアップする必要があります。

  1. Git パネルの下部にある現在のブランチの名前を選択します。または、Git パネルに移動し、チェックアウト先を選択します。

  2. 表示されたリストからブランチを選択します。

切り替え後、リポジトリの作業ディレクトリは、選択したブランチに最後にコミットされたファイルバージョンで更新されます。

ブランチをマージ

個別ブランチの特徴に対する作業が終了したら、通常、変更をメインプロジェクトに統合したくなるでしょう。Git では、この種の統合は、あるブランチ (例えば、特徴ブランチ) を別のブランチ (通常はリポジトリのメインブランチまたはデフォルトのブランチ) にマージすることによって促進されます。

  1. 別のブランチをマージするブランチを選択するには、Git パネルメニューに移動し、チェックアウト先を選択してください。

    または、Git パネルの下部にある現在のブランチの名前を選択します。

  2. 表示されるリストから、切り替えるブランチを選択します。

  3. Git パネルの[検索]ボックスで、「マージ」という言葉の入力をスタートします。

    コマンドリストの下で Git: Merge Branch が表示されるときは、それを選択します。

    
            [マージ] コマンドの検索
  4. 表示されたリストから、ターゲットブランチにマージするブランチを選択します。

    マージが競合せずに完了すると、Git パネルインターフェイスが更新され、マージされた変更を含むターゲットブランチが表示されます。

ブランチのマージの時に、同じコンテンツに加えられた互換性のない変更に起因するマージの競合が発生する可能性があります。このような場合は、マージをコミットする前に競合を解決する必要があるという警告が表示されます。

IDE のコードエディタウィンドウを使用して、2 つのブランチで競合するコンテンツを特定し、変更を加えて相違を解決できます。


        マージの競合を解決するための IDE ウィンドウ

リモートリポジトリを操作する

インターネットまたはネットワークでホストされているリモートリポジトリは、チームメンバーがローカルの責任にコミットした変更の共有を許可して、コラボレーションを促進します。データをアップロードおよびダウンロードする Git コマンドを使用することで、「ダウンストリーム」(ローカル)リポジトリの内容が「アップストリーム」(リモート)リポジトリの内容と同期するようにします。

リモートリポジトリへのブランチの発行

ローカルリポジトリのブランチを作成した後は、お客様にとってプライベートであり、お客様がプッシュしてリモートリポジトリに「アップストリーム」するまで、共同作業者は利用できません。

  1. 現在のブランチを発行するには、[Git パネル]メニューに移動して、ブランチの発行 を選択します。または、Git パネルの下部にあるブランチ名の横にあるクラウドシンボルをクリックします。

    
            ブランチをリモートリポジトリに発行するオプション
  2. 必要に応じて、リモートリポジトリにアクセスするため、ユーザー名とパスワードを入力します。

ブランチがリモートリポジトリに正常にパブリッシュされると、Git パネルの下部にあるブランチ名の横に同期シンボルが表示されます。これを選択すると、ローカルリポジトリとリモートリポジトリの内容が同期されます。


        ローカルブランチとリモートブランチを同期するオプション

ローカルリポジトリとリモートリポジトリ間でコンテンツをプッシュおよびプルする

Git を使用して共有プロジェクトで共同作業を行う場合は、通常、リモートリポジトリからローカルリポジトリに他のチームメンバーによる最近の変更取得でスタートします。また、ローカル repo への変更をコミットした後、リモートリポジトリにプッシュして、チームの残るメンバーがアクセスできるようにします。これらのアクションのパフォーマンスは、コマンド git pull および git push で行います。

注記

ほとんどのホストされたリポジトリ (GitHub 上のリポジトリなど) との間で変更をプッシュしたりプルしたりするときは、ユーザー名とパスワードを入力する必要があります。

Pull changes from remote

Git パネルインタフェースを通じて git pull コマンドを使用すると、リモートリポジトリ内のブランチにコミットされた最新の変更でローカルリポジトリを更新できます。

  1. Git パネルメニューで、チェックアウト先を選択。

  2. ブランチのリストで、変更をプルしたいローカルブランチを選択します。

  3. 次に、を選択します。[Git パネル]メニューに移動し、[プル元 ]を選択します。

  4. リモートリポジトリを選択し、そのリポジトリ内のブランチを選択して変更をプルします。

プルを実行した後、リポジトリの作業ディレクトリのリモート repo から取得したファイルにアクセスできます。ファイルを変更したら、変更をリモートブランチにプッシュできます。

Push changes to remote

Git パネルインターフェース経由で git push コマンドを使用すると、ローカルリポジトリ内の指定されたブランチの最新の変更を使ってリモートリポジトリを更新できます。

  1. Git パネルメニューで、チェックアウト先を選択。

  2. ブランチのリストで変更をプッシュしたいローカルブランチを選択します。

  3. 次に、[Git パネル]メニューに移動し、プッシュ先を選択します。

  4. リモートリポジトリを選択し、そのリポジトリ内のブランチを選択して変更をプッシュします。

プッシュを実行した後、他のチームメンバーは、自分のリポジトリのローカルコピーにプルダウンして、お客様が行った変更にアクセスできます。

ファイルの stash と取得

Git の stash 特徴を使用すると、最初にステージングしたファイルや変更したファイルをコミットせずに、ブランチを切り替えることができます。stash の特徴は、作業ディレクトリとステージングエリアの現在のステータスをキャプチャし、後で使用するために保存します。この特徴は、未完成のコンテンツまだ取り組んでおり、ブランチを遅滞なく切り替える必要がある場合に便利です。

stash 作業

  1. 作業ディレクトリの現在の状態を stash (一時的に対比) するには、[Git パネル]メニューで、以下のいずれかのオプションを選択します。

    • stash: 作業ディレクトリ内のすべての変更またはステージングされたファイルが stash に追加されます。未追跡ファイルは追加されません。

    • stash (未追跡を含む): まだ追跡されていないファイルも含めて、作業ディレクトリ内のすべてのファイルが stash に追加されます。

  2. 将来の取得のために stash の識別に役立つオプションのメッセージを入力します。

stash の後、Git パネルのインターフェイスがリフレッシュされ、クリーンアップされた作業ディレクトリが表示されます。

stash を取得する

  1. stash を取得して作業ディレクトリに適用するには、[Git パネル]メニューで、以下のオプションの 1 つを選択します。

    • stash を適用: 選択した stash を作業ディレクトリに適用し、後で使用できるように stash を保持します。

    • stash をポップ: 選択した stash を作業ディレクトリに適用し、stash スタックから stash を削除します。

    注記

    また、stash スタックに追加された最後の stash の適用またはポップを選択することもできます。

  2. stash を選択して、作業ディレクトリに適用します。

Git パネルインターフェイスが更新され、stash が適用されて作業ディレクトリが表示されます。