我的Mac出现问题,决定格式化并重新安装所有内容。我将我的项目副本复制到其他机器,希望git能保留我的更改。现在我复制我的项目,结果是我的所有文件都显示为复制粘贴的修改产品,是傻瓜错误。
如何忽略所有这些虚拟差异并保留旧的变化? 是否有可以恢复所有这些差异的命令?
由于
编辑: 对于“虚拟变化”,我指的是:
$ git diff --stat
AuthenticationViewElements/background.png | Bin 6130 -> 6130 bytes
AuthenticationViewElements/background_iPhone.png | Bin 5799 -> 5799 bytes
...
$ git diff AuthenticationViewElements/background.png
diff --git a/AuthenticationViewElements/background.png b/AuthenticationViewElements/background.png
old mode 100644
new mode 100755
此处的更改是对文件副本造成的文件权限。这是我想要摆脱的那种变化。
答案 0 :(得分:0)
如果还有一个.git文件夹,它应该保留所有版本的记录。我想也许您可以使用git log
找出您的版本,git status
以了解此存储库的状态,git diff (branch|Tag|HEAD)
来检查与其他版本的差异。最后使用git revert HEAD
恢复提交状态或git checkout
检出提交。我建议您使用Github之类的服务来推送您的代码。
答案 1 :(得分:0)
看起来唯一的区别在于文件权限。你应该能够用
清除它们git reset --hard
你可能需要sudo那个。