0

Git は SCM の素晴らしい獣です。それでも、私はある問題に際限なく当惑しています。

私は(経由で)のブランチで.gitignoreはなく、にある設定ファイルを持っています。ただし、チェックアウトしてしばらく作業していた私のブランチでは、ファイルが何らかの形で追跡されており、再び外に出ると、ファイルはリポジトリに残りますが、チームの他の全員からは消えます。私も走りました、そして最後の手段として私は走りました:masterorigingit show -- config/mongo.ymlorigin/mastergit rmgit checkoutorigin/mastergit rm --cached

git update-index --assume-unchanged -- config/mongo.yml

これは、無視されたファイルに効果をもたらすために何度も使用しましたが、ブランチはやり直すのに十分なほど小さかったです。ただし、これは修正されていないようです。これの「理由」を知り、問題を理解したいのですが、それは解決策の3/4だからです!! :)

どうすればそれを私の中に入れることができ、それは と の後に.gitignore追跡されますか?git rm config/mongo.ymlgit checkout origin/master -- config/mongo.yml

4

1 に答える 1

0

何かがおかしいときに私が試したこと:

そのファイルを .gitignore から削除し、そのファイルを持たない (そして .gitignore に持たない) コミットに切り替えます。

git ls-files --cached --ignored --exclude-standard私が説明するのに苦労しているすべてのチェックアウトで。とにかくたまにやってます。

git log --all --decorate --oneline --graph path/to/your/cuckoo、ファイルのステータスまたは内容が変更されたすべての場所を示します。gitk に同じことをさせることができ、新しいビューを立ち上げることができます。

また、隣のディレクトリにクローンを作成してみてください。チェックアウトされたコンテンツ以外のすべてがハードリンクされるため、スペースは問題になりません。これにより、現在の状態を失うことなく元のワークツリーが得られます。そこで実験git clean -dfxして、混乱をさりげなくクリーンアップできます。

于 2012-05-11T03:11:27.340 に答える