kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。 Ubuntuの最新情報も紹介しています。

ローカルブランチを強制的にチェックアウトする

  「ワーキングディレクトリー」内に、「編集されたファイル」や「ステージされたファイル 」が存在する状況で「チェックアウト」を行おうとすると、以下のように「チェックアウト」に失敗します。


    「ワーキングディレクトリー」がダーティーな状態で「チェックアウト」を行うことはできません。

    「チェックアウト」は、 「スナップショット」からプロジェクトのファイル群を「ワーキングディレクトリー」に展開する作業なので、そのまま「チェックアウト」を実行してしまうと、ユーザーがファイルに対して行った編集が全て破棄されてしまいます。

     もし「ワーキングディレクトリー」内で行った編集内容を破棄したくない場合は、コミットを行い「スナップショット」を作成後、「チェックアウト」を実行する必要があります。

   しかし、 「ワーキングディレクトリー」内で行った編集内容を破棄しても良い場合は、編集内容を破棄し「チェックアウト」を行うことも可能です。

  ここでは例として、編集内容を破棄し、強制的に「チェックアウト」を行います。

  1.ブランチの確認

    ブランチの一覧を表示すると、以下のようになっています。


    「master」ローカルブランチと「sub」ローカルブランチがあることが分かります。
    また、「*」マークが付いている「sub」ローカルブランチが、現在のブランチであることが分かります。

    従って「HEAD」は「sub」ローカルブランチを指しています。

  2.subローカルブランチの状態

     「sub」ローカルブランチの状態を確認すると、 「ワーキングディレクトリー」内で変更のあったファイルの一覧が表示されます。


    これらのファイルはコミットされていません。

  3.コマンドの実行

    コマンドのオプションは、以下のオプションを指定します。

ショートオプション ロングオプション
-f --force

    「端末」から、以下のコマンドを実行します。
    コマンドの詳細は、「ローカルブランチをチェックアウトするコマンドの説明」を参考にしてください。
    ポイントは、赤字の箇所です。

git checkout --force master


  4.コマンドの実行結果

    以下のようにメッセージが表示され、「master」ローカルブランチが「チェックアウト」されます。


  5.ブランチの確認

    ブランチを確認すると、以下のように「master」ローカルブランチに「*」マークが付いており、現在のブランチが「master」ローカルブランチであることが分かります。



関連コンテンツ
同一カテゴリーの記事
コメント
オプション