1

.gitignore に問題があります。次のようなディレクトリツリーがあります。

/djangoproject
    venv
        bin
            startgunicorn.sh
        djo
    www
        static
        analytics
    .git
        .gitignore

私の .gitignore 読み取り:

../www/analytics
../venv/bin
../venv/build
../venv/include
../venv/lib
../venv/local
*.pyc

私が

git add ../*またgit add -A

git push

私はstartgunicorn.sh自分のディレクトリをプッシュしたくない、またはanalyticsプッシュしたくありませんが、プッシュしたいdjoと思っstaticています。私の gunicorn.sh ファイルは、ローカル マシンのものに変更され続けます。私のエラーはどこですか?

4

2 に答える 2

4

.gitignoreサブディレクトリにファイルを配置する人を見たことがありません.git。私の知る限り、ルールをリポジトリ全体に適用する場合は、ルートにある必要があります。

GitHubは次のように述べています。

任意のサブパスに .gitignore を作成して、そのパスにルールを適用できることに注意してください。空の .gitignore ファイルが空のパスのプレースホルダーとして使用されることがあります。たとえば、開発環境で使用する log/ パスを git に強制的に生成させる場合などです。

そのロジックに従って、これらすべてのルールはすべて .git フォルダーから下に向かって適用されます。あなたがやろうとしていることはわかりますが、そのような方法で行われるのを見たことがありません。

リポジトリのルートに .gitignore を配置し、次のようにします。

www/analytics
venv/bin
venv/build
venv/include
venv/lib
venv/local
*.pyc

私はそれが正しいことをすることを期待します。

さらに、これを念頭に置く価値があります。

git は、ルールがこのファイルに追加されて無視される前に既に追跡されていたファイルを無視しないことに注意してください。このような場合、通常は git rm --cached filename を使用して、ファイルを追跡しないようにする必要があります。

無視したい古いバージョンのファイルを追加した場合は、おそらくそれを行う必要があります。

于 2013-08-05T14:08:07.157 に答える
0

メイン プロジェクトのディレクトリ (.git ディレクトリがある場所) に .gitignore を配置し、パスの先頭にある "../" を削除してみてください。

それでも解決しない場合は、追加してみてください

venv/bin/* 

あなたの.gitignoreに。

于 2013-08-05T14:11:33.263 に答える