Git / stash处理unchanges文件为全新

时间:2017-02-10 22:38:49

标签: git database-backups git-stash

我试图用git每周写一个脚本来备份一些文件 我的脚本结构如下:

  1. cd进入将要进行更改的本地目录
  2. 结帐分行
  3. 运行脚本以使用当前文件覆盖整个文件夹
  4. git add --all
  5. git push
  6. 问题在于:当我进行覆盖时,大多数文件应该是相同的。因此,在我将它们推到遥控器后,它们不应该以任何方式标记为已更改。

    然而,当我推送时,所有未更改的文件(因此被相同的副本覆盖)在我藏匿时被视为全新的。

    有没有人在遇到这样的问题之前/知道可能导致它的原因?

1 个答案:

答案 0 :(得分:0)

两个可能的原因是:

  • 不同的许可(644或755)
  • 不同的eol(行尾):使用以下命令检查一个已更改文件的差异:

    git -c color.diff.whitespace="red reverse" diff -R -- afile
    
对于text=auto文件

中的任何.gitattributes指令,

Check also

确保git config --global core.autocrlf设置为false(并且您的回购中没有任何本地git config autoocrlf)。
对于文件权限,git config --global core.filemode false可以提供帮助。

然后再次尝试checkout / override / add / commit和push sequence。