2017-02-17 9 views
2

.gitignoreファイルに対する変更を無視しようとしています。これを達成するために、私はこのコマンドをgit update-index --assume-unchanged bin/.gitignore git bashで使用しています。gitでファイルをマークできません

私が実行すると、Unable to mark file bin/.gitignoreが私のgit bashに表示されます。

これを解決する方法と、なぜこの問題に直面していますか?

私も、このリンクを試みたが、

git update-index --assume-unchanged returns "fatal unable to mark file"

+0

確かに、指定された相対パスは正しいですか?あなたのCWDの下に 'bin/.gitignore'ファイルがありますか? – Kent

+0

@Kentはい私は正しいパスを使用しており、CWDの下にあります。 – BeginnersSake

+1

パスが正しい場合、ファイルは既にgitステージに入っていますか?もしそれが一度も追加されなかったならば、あなたはエラーを受け取ります – Kent

答えて

3

コメントを書き留めて詳細情報を入手した後、これを回答として投稿しています。

原因はおそらく、あなたが設定したいファイルはassume-unchangedビットはgitによって追跡されませんでした。コメントでは、次のコマンドについて述べます:

git ls-files --error-unmatch /yourPath/file 

ファイルがgitで追跡されているかどうかを確認できます。

まだ追跡されていない場合、索引はまだ作成されていないため、索引を更新することはできません。 .gitignoreファイルに追加するだけでgitで無視されます。

2

は、あなたのファイルの相対パスが正しいことを確認してください助けにはなりませんでした。

$ pwd      # see working directory 
$ ls -la ./bin/    # see if .gitignore file exist! 
$ git update-index --assume-unchanged ./bin/.gitignore 

そしてまたあなたのbin/.gitignoreファイルはgit ls-files -oに表示されているかどうか:

はこれを試してみてください。

$ git ls-files -o # Show other (i.e. untracked) files in the output 

.gitignoreファイルは、その後addcommit発見された場合。次にundate-indexを試してください。

$ git add . 
$ git commit -m 'Message' 

$ git update-index --assume-unchanged ./bin/.gitignore 
2

あなたの.gitignoreはuntrackedファイルだと思います。それはgitのステータスを使用して確認してください。もしそれがトラッキングされていないものであれば、update-indexをそのファイルにすることはできません。 更新インデックス を追加してコミットしてください。物理的に削除してから、変更をリポジトリから取得してください。

関連する問題