AppCode 2023.1 ヘルプ

変更のシェルブとアンシェルブ

シェルフは、まだコミットしていない保留中の変更を一時的に保存しています。これは、たとえば、別のタスクに切り替える必要があり、後で作業するために変更を脇に置いておきたい場合に役立ちます。

AppCode を使用すると、個別のファイルと変更リスト全体の両方をシェルブできます。

保留にすると、必要に応じて何度でも変更を適用できます。

変更をシェルフに退避

  1. コミットツールウィンドウ Alt+0 で、シェルフに配置するファイルまたは変更リストを右クリックし、コンテキストメニューから変更をシェルフに退避を選択します。

  2. 変更をシェルフに退避ダイアログで、変更されたファイルのリストを確認します。

  3. コミットメッセージ: フィールドに、作成するシェルブの名前を入力し、変更をシェルフに退避ボタンをクリックします。

また、変更をシェルフに退避ダイアログを表示せずにサイレントに変更を保存することもできます。これを行うには、保存するファイルまたは変更リストを選択し、ツールバーの確認なしでシェルフに退避アイコン Shelve silently をクリックするか、Ctrl+Shift+H を押します。シェルフする変更を含む変更リストの名前がシェルフ名として使用されます。

同じ名前の多数のシェルフ(たとえば、デフォルトなど)が表示されないようにするには、ファイルまたは変更リストを <ブランチ> にコミットするタブからコミットツールウィンドウのシェルフタブにドラッグし、アクティブになるまで 1 秒待ちます。マウスボタンを離したときに、新しいシェルフ名をオンザフライで編集します。

変更をアンシェルブ

保留中の変更は、延期された変更をシェルブから保留中の変更リストに移動することです。切り詰められていない変更は、ビューから除外したり、シェルフから削除することができます。

  1. シェルフタブで、シェルフを解除する変更リストまたはファイルを選択します。

  2. Ctrl+Shift+U を押すか、選択項目のコンテキストメニューからアンシェルブを選択します。

    Unshelving changes
  3. 変更をアンシェルブダイアログで、名前フィールドに、保留されていない変更を復元する変更リストを指定します。リストから既存の変更リストを選択するか、保留されていない変更を含む作成する新しい変更リストの名前を入力できます。コメントフィールドに新しい変更リストの説明を入力できます(オプション)。

    新しい変更リストをアクティブにする場合は、アクティブにするを選択します。それ以外の場合、現在アクティブな変更リストはアクティブのままです。

  4. AppCode が非アクティブ化時に新しい変更リストに関連付けられたタスクのコンテキストを保持し、変更リストがアクティブになったときにコンテキストを復元する場合は、コンテキストを追跡するオプションを選択します(詳細については、タスクとコンテキストを参照してください)。

  5. アンシェルブしようとしている変更を削除したい場合は、正常に適用されたファイルをシェルフから除去するオプションを選択してください。保護されていないファイルはこのシェルフから削除されて別の変更リストに追加され、適用済みとしてマークされます。それらは、ツールバーの the Delete icon をクリックするか、コンテキストメニューからすでにアンシェルブされたものをクリーンを選択して明示的に削除されるまで完全には削除されません。

  6. OK をクリックします。パッチされたバージョンと現在のバージョンの間に競合が発生した場合は、競合の解決の説明に従って解決してください。

また、変更をアンシェルブダイアログを表示せずにサイレントに変更を取り消すこともできます。これを行うには、取り消したいファイルまたは変更リストを選択し、ツールバーの確認なしでアンシェルブアイコン the Unshelve Silently icon をクリックするか、Ctrl+Alt+U を押します。アンヘルになったファイルは、アクティブな保留変更リストに移動されます。

ファイルまたは変更リストをシェルフタブから <ブランチ> にコミットするタブにドラッグして、サイレントに解除することもできます。Ctrl キーを押しながらドラッグすると、シェルフから削除されずにブランチにコミットするタブにコピーされます。

保留された変更を破棄

  1. シェルフビューで、これ以上保持しない変更を含む変更リストを選択します。

  2. それを右クリックして、コンテキストメニューから削除を選択するか、Delete を押します。

保留されていない変更を復元する

AppCode を使用すると、必要に応じて保護されていない変更を再適用できます。ツールバーの the Remove Unshelved Changes アイコンをクリックするか、コンテキストメニューからすでにアンシェルブされたものをクリーンを選択することによって明示的に削除されるまで、保留にされていない変更はすべて再利用できます。

  1. すでにアンシェルブされたものを表示 the Show Already Unshelved button ツールバーオプションが有効になっていることを確認します。

  2. 復元するファイルまたはシェルフを選択します。

  3. 選択のコンテキストメニューから復元を選択します。

外部パッチを適用する

AppCode の内部または外部に作成されたパッチをインポートして、保留変更として適用することができます。

  1. シェルフビューで、コンテキストメニューからパッチのインポートを選択します。

  2. 表示されたダイアログで、適用するパッチファイルを選択します。選択したパッチがシェルフタブにシェルフとして表示されます。

  3. パッチを適用して新しく追加されたシェルフを選択し、選択したコンテキストメニューから変更をアンシェルブを選択します。

ベースリビジョンの自動シェルフ

Git バージョン管理下にあるファイルの基本リビジョンを常にシェルブするように AppCode を構成すると便利な場合があります。

  1. Ctrl+Alt+S を押して IDE 設定を開き、バージョン管理 | シェルフを選択します。

  2. 分散バージョン管理システム下にあるファイルのシェルブベースリビジョンオプションを選択してください。

    このオプションを有効にすると、ファイルのベースリビジョンが、シェルフを適用すると競合につながる場合に 3 方向マージ(英語)で使用されるシェルフに保存されます。無効にすると、AppCode はプロジェクト履歴のベースリビジョンを探しますが、時間がかかることがあります。さらに、矛盾するシェルフが基づいていたリビジョンが失われている可能性があります(たとえば、リベース操作の結果として履歴が変更された場合)。

デフォルトのシェルフの場所を変更する

デフォルトでは、shelf ディレクトリはプロジェクトディレクトリにあります。ただし、デフォルトのシェルフの場所を変更することができます。これは、作業コピーをクリーンアップするときにシェルブを誤って削除しないようにする場合や、別のリポジトリに格納してシェルブをチームメンバー間で共有できるようにする場合などに便利です。

  1. Ctrl+Alt+S を押して IDE 設定を開き、バージョン管理 | シェルフを選択します。

  2. シェルブ先の変更をクリックし、開いたダイアログで新しい場所を指定します。

  3. 必要に応じて、退避済みの変更を新しい場所に移動を選択して、既存のシェルフを新しいディレクトリに移動します。

未完成の作業を失うことなく、別のタスクに切り替えるためのシェルブからの恩恵を受ける方法に関するこのビデオチュートリアルを参照してください。

関連ページ:

シェルブタブ

このタブは、変更または変更リストをシェルブするとバージョン管理ツールウィンドウに追加され、すでにアンシェルブされたものやインポートされた外部パッチを含むすべてのシェルブされた変更を完全に削除するまで表示されます。デフォルトでは、このタブにはまだ解除されていないすべての保留中の変更が表示されます。変更はシェルフにグループ化されます。シェルフは、変更を保留したときに作成される変更リストです。シェルフはコミットメッセージによって識別されます。AppCode にアンシェルブされた変更を表示させることが...

タスクとコンテキストを管理する

プロジェクトで作業する場合は、完了する必要のある小さな作業で作業を整理できます。これらは、自分で設定したタスクです。AppCode では、大きな作業を小さなタスクに分割し、変更リストに関連付けることができます。これらは、課題追跡システムからのタスクである可能性もあります。例: AppCode から直接割り当てられたタスクやバグを処理できます。これを可能にするには、IDE とトラッカーアカウントを接続します。課題追跡との統合を構成する:AppCode は次のものとの統合をサポートします。Jira...

競合の解決

バージョン管理システムによっては、状況によっては競合が発生することがあります。チームで作業をしているとき、誰かが現在取り組んでいるファイルへの変更をコミットするという状況に遭遇するかもしれません。これらの変更が重複しない場合(つまり、異なるコード行に変更が加えられた場合)、競合するファイルは自動的にマージされます。ただし、同じ行が影響を受けると、バージョン管理システムはランダムに片側を選択することができず、競合を解決するように求められます。ブランチをマージ、リベースまたはチェリーピックするときに...