1

私は今日これを打ちました:

% git checkout another_branch
error: The following untracked working tree files would be overwritten by checkout:
        __version__.txt
        alembic.ini
        alembic/README
        alembic/env.py
        alembic/script.py.mako
        folder1/file1
        folder2/file2
        ....
Please move or remove them before you can switch branches.
Aborting

では、追跡されていないファイルを削除します。

% git clean -f
Not removing alembic/
Not removing tools/maintenance/

ただし、追跡されていないすべてのファイルが削除されたわけではないようです。

% git checkout another_branch
error: The following untracked working tree files would be overwritten by checkout:
        alembic/README
        alembic/env.py
        alembic/script.py.mako
Please move or remove them before you can switch branches.
Aborting

奇妙なのは、最初にgit が追跡されていない特定のファイル ( 、、 )git checkout another_branchについて不平を言ったことを知っていたことです。alembic/READMEalembic/env.pyalembic/script.py.mako

では、なぜ git はそれらを削除しなかったのでしょうか?

4

2 に答える 2

1

追跡されていないファイルには、追跡されていないファイルと無視されたファイルの 2 種類があります。

as git clean( -f「安全な」構成オプションをオーバーライドするためだけに実行する場合)、git は、追跡されていないファイルgit clean -xと無視されたファイルの両方を削除するため、実行時に追跡されていないファイルのみを削除します。

.gitignoreチェックアウトの問題については、2 つのブランチの異なるファイルが原因である可能性があります。

于 2015-11-05T10:59:14.723 に答える
0

.gitディレクトリにサブディレクトリまたはファイルが含まれていますか?

-f, --force

Git 構成変数 clean.requireForce が false に設定されていない場合、-f、-n、または -i が指定されない限り、git clean はファイルまたはディレクトリの削除を拒否します。2 番目の -f が指定されない限り、Git は .git サブディレクトリまたはファイルを含むディレクトリの削除を拒否します。これは、.git/modules/ の下の削除されたサブモジュールのストレージ領域が -f が 2 回指定されるまで削除されない git サブモジュールにも影響します。

于 2015-11-05T10:57:06.157 に答える