2017-02-10 7 views
0

私はgitで週単位でいくつかのファイルをバックアップするスクリプトを書こうとしています。
次のように私のスクリプトの構造は次のとおりです。Git/stashでファイルを完全に新しいものに変更しないでください

  1. CDを変更は、分岐
  2. は、現在のファイルとフォルダ全体を上書きするスクリプトを実行
  3. チェックアウトを行うことが予定されているローカルディレクトリに
  4. git add --all
  5. git push

問題は次のとおりです。上書きを実行すると、ほとんどのファイルが同一である必要があります。したがって、私はそれらをリモートにプッシュした後、何らかの方法で変更されたとしてマークするべきではありません。

しかし、私が押すと、変更されていないファイル(つまり、同一のコピーで上書きされたファイル)はすべて隠しファイルで表示されます。

誰かがこれの前にこのような問題が発生しましたか、それを引き起こす可能性があることを知っていますか?

+0

あなたがしなければならないことは、何が起こっているのかを理解するためにファイルをdiffすることだけです。 – jbu

答えて

0

2つの原因があります:

  • 異なる許可(644または755)
  • 異なるEOL(行の末尾):

    git -c color.diff.whitespace="red reverse" diff -R -- afile 
    
  • :と1つの変更のファイルの差分を確認します

Check alsotext=auto.gitattributesファイル

git config --global core.autocrlffalseに設定されていること(また、ローカルにgit config autoocrlfはありません)を確認してください。
ファイル許可の場合は、git config --global core.filemode falseをお送りください。

次に、checkout/override/add/commitとpushシーケンスをやり直してください。

関連する問題