为什么在将git存储库复制到另一个目录后我修改了文件?

Pat*_*ryk 11 git copy copy-paste commit repository

我的笔记本电脑上有个人小git存储库.我刚刚提交了更改并检查了我没有任何提交 - 每个已分阶段和已修改的文件已被提交.

之后我将这个仓库中的所有文件复制到另一个位置并繁荣!我有未提交的更改.

我相信我错过了一些基本的git规则.任何人都可以建议我吗?

小智 13

我做了什么,跑

git diff | grep -B 2 @@ | grep +++
Run Code Online (Sandbox Code Playgroud)

获取实际更改的文件,然后还原所有其他文件


pat*_*yts 8

您在Windows上的文件可能具有回车符换行符号行,并且您的Windows框中可能有core.autocrlf为true.不要在不同平台之间复制它.而是在Linux机器上创建一个新的git存储库,然后从Windows框中拉出来.您可以使用git bundlegit daemon在Windows计算机上公开存储库.或者你可以在Linux git push --mirror机器上制作一个裸仓库,然后从Windows机器上制作,然后克隆你想要最终版本的地方.

或者 - 很可能你已经可以直接git reset --hard HEAD在linux盒子上修复它了.您可能应首先删除除.git文件夹之外的所有内容,以确保完全干净的工作树.


Bru*_*res 5

如果您没有任何东西可以丢失,请执行以下操作:

git checkout .

这会将工作树恢复到您之前的提交