.gitignore と「次の追跡されていない作業ツリーファイルはチェックアウトによって上書きされます」質問する

.gitignore と「次の追跡されていない作業ツリーファイルはチェックアウトによって上書きされます」質問する

そこで、.gitignore ファイルにフォルダーを追加しました。

一度やるとgit status

# On branch latest
nothing to commit (working directory clean)

ただし、ブランチを変更しようとすると、次のようになります。

My-MacBook-Pro:webapp marcamillion$ git checkout develop
error: The following untracked working tree files would be overwritten by checkout:
    public/system/images/9/thumb/red-stripe.jpg
    public/system/images/9/original/red-stripe.jpg
    public/system/images/8/thumb/red-stripe-red.jpg
    public/system/images/8/original/red-stripe-red.jpg
    public/system/images/8/original/00-louis_c.k.-chewed_up-cover-2008.jpg
    public/system/images/7/thumb/red-stripe-dark.jpg
    public/system/images/7/original/red-stripe-dark.jpg
    public/system/images/7/original/DSC07833.JPG
    public/system/images/6/thumb/red-stripe-bw.jpg
    public/system/images/6/original/website-logo.png
    public/system/images/6/original/red-stripe-bw.jpg
    public/system/images/5/thumb/Guy_Waving_Jamaican_Flag.jpg
    public/system/images/5/original/logocompv-colored-squares-100px.png
    public/system/images/5/original/Guy_Waving_Jamaican_Flag.jpg
    public/system/images/4/thumb/DSC_0001.JPG
    public/system/images/4/original/logo.png
    public/system/images/4/original/DSC_0001.JPG
    public/system/images/4/original/2-up.jpg
    public/system/images/3/thumb/logo2.gif
    public/system/images/3/original/logo2.gif
    public/system/images/3/original/Guy_Waving_Jamaican_Flag.jpg
    public/system/images/3/original/11002000962.jpg
    public/system/images/2/thumb/Profile Pic.jpg
    public/system/images/2/original/Profile Pic.jpg
    public/system/images/2/original/02 Login Screen.jpg
    public/system/images/1/original/Argentina-2010-World-Cup.jpg
Please move or remove them before you can switch branches.
Aborting

私の .gitignore ファイルは次のようになります。

.bundle
.DS_Store
db/*.sqlite3
log/*.log
tmp/**/*
public/system/images/*
public/system/avatars/*

これらのファイルを削除せずにブランチを切り替えるには、どうすればこれを機能させることができますか?

変更を加えると、それらのファイルに影響しますか? つまり、後でこのブランチに戻った場合、最新のコミットまですべてが完璧になりますか?

それらのファイルを失いたくはありません。追跡されたくないだけです。

ベストアンサー1

警告: 追跡されていないファイルは削除されるため、質問に対する適切な回答にはなりません。

私もこのメッセージが表示されました。私の場合は、ファイルを保持したくなかったので、次の方法でうまくいきました。

git 2.11以降

git clean  -d  -f .

年上のギット

git clean  -d  -f ""

git によって無視されるファイルも削除する場合は、次のコマンドを実行します。

警告!!! これはおそらくあなたのプロジェクトを破壊します。何をしているのか100%理解している場合にのみ使用してください。

git 2.11以降

git clean  -d  -fx .

年上のギット

git clean  -d  -fx ""

git clean は、git のクリーンなバージョンです。

  • -x無視されたファイルと、git に不明なファイルも削除されることを意味します。

  • -d追跡されていないファイルに加えて、追跡されていないディレクトリも削除することを意味します。

  • -f強制的に実行するにはが必要です。

おすすめ記事