1

Eclipse には独自のファイルとフォルダー.projectがあります。git では、リモート リポジトリで追跡されたくないので、それらをファイルに入れています。私の問題は、ブランチを切り替えてから元に戻すと、それらのファイルが削除されているため、Eclipse がプロジェクトを認識せず、再度インポートして生成する必要があることです。.classpath.settings.gitignore

これらのファイルを無視するように git に指示する方法はありますが、それらをローカル リポジトリなどに保持して、ブランチを切り替えたときに失われないようにしますが、それらへの変更は追跡されず、リモートにもプッシュされませんか?

実行時にファイルが表示されますgit ls-files -o

GIT: ブランチを切り替えるときに無視されたファイルを保持する方法を確認しました。、しかし、ファイルは実行時にまだ表示されますgit status

編集:

git status単独でこれを示します:

$ git status
On branch refactorizacion
Your branch is up-to-date with 'origin/refactorizacion'.

nothing to commit, working directory clean

これは機能しません:

$ git add -f .project
$ git rm --cached .project

私もこれを試しましたが、ファイルは次の後に表示されますgit status:

$ git add -f .project
$ git update-index --assume-unchanged .project
$ git status
On branch refactorizacion
Your branch is up-to-date with 'origin/refactorizacion'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   .project
4

1 に答える 1

0

2番目のものは明らかに機能しません。インデックスにファイルを追加していますが、コミットしないと、どの以前のバージョンと比較するかわかりません。したがって、git status はそれを新しいファイルとして表示します。update-index は、一度コミットした後でのみ適用できます。

最初のケースでは、ファイルを削除する前に追加する理由がわかりません。

参照した質問で述べたように、単にファイルを削除して (git がまだ追跡している場合)、 に追加して.gitignore、git がそれを追跡しないようにする必要があります。これにより、ブランチの切り替えから隔離されます。

編集:ファイルが削除されgit rm <file>たことと、これが追加されたコミットがすべてのブランチに存在することを確認してください。次に、ファイルを gitignore に追加します。

于 2015-08-20T12:54:32.937 に答える