2016-11-23 32 views
1

多くの試行の後に解決できない私のgit reposには不満があります。私はamex.pngvisa.pngという2つの画像を持っています。これらの名前をAmex.pngVisa.pngに変更し、これらの変更をコミットしました。いくつかの未知の問題について、gitはこれらのファイルを私がそれらに関係なく常にmodifiedとして表示します。私は変更を破棄しgit checkout -- app/assets/images/amex.pngを使用しますが、それは代わりに私に再びmodifiedファイル名のために変更を破棄できません

Changes not staged for commit: 
    (use "git add <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

    modified: app/assets/images/Amex.png 
    modified: app/assets/images/visa.png 

として新しいファイルを示して、私はgit checkout -- app/assets/images/Amex.pngを実行した場合、それが再びgitの状態で最初のファイル名amex.pngを示すだろう。

Changes not staged for commit: 
    (use "git add <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

    modified: app/assets/images/amex.png 
    modified: app/assets/images/visa.png 

それはループに陥っているようだ。私は何とかこのループを破る必要があります。

私の開発コードには影響しませんが、自分のコードをコミットするときに常に注意を払わなければならないので、迷惑です。私は、すべての現在のコードを削除して、私のreposを再びクローンすることができると信じていますが、私はあなたから聞いて、私が将来それを解決できるようにしたいと思います。

+0

WindowsまたはLinux? – Pachonk

+0

私はMac OSX(macOS Sierra)にあります –

答えて

0

以下を試すことができます。 注:リポジトリ内のコミットされていない変更はすべて失われます

まず、そのディレクトリにトラッキングされていないファイルがないことを確認します。 gitを使用すると、ディレクトリ全体を削除するだけで、簡単にリセットすることができます。私はこのような何かを試してみた:

rm -rf app/assets/images/ 
git reset --hard HEAD 

これはあなたが

別のオプションは、

であなたの枝をきれいにすることです(これらのファイルをreadding)しているコミットそして、全体のディレクトリを削除し、最新のgitにリセットされます Git documentation on git clean

のgit-クリーンあたりとして

git clean -df 

- ワーキングツリー0から人跡未踏のファイルを削除します

説明は、再帰的にカレントディレクトリから始めて、 はバージョン管理下にないファイルを削除することで作業ツリーをクリーニングします。

通常、Gitで不明なファイルのみが削除されますが、-xオプション が指定されていると、無視されたファイルも削除されます。例えば、 はすべてのビルド製品を削除するのに便利です。

任意の...引数が指定されている場合、それらのパスのみが影響を受けます。

オプション

は人跡未踏のファイルのほかに追跡されていないディレクトリを削除-d。トラッキングされていないディレクトリが別のGitリポジトリによって管理されている場合、デフォルトでは削除されないのは です。実際に にそのようなディレクトリを削除したい場合は、-fオプションを2回使用してください。

-f --force Git構成変数clean.requireForceがfalseに設定されていない場合、git cleanは-f、-nまたは-iを指定しない限り実行を拒否します。

+0

これはうまくいかず、 'git reset'の後にこれらのイメージを' modified'として表示します。 'git clean'と同じものです –

関連する問題