如何从远程git存储库恢复已删除的文件?

时间:2014-06-08 12:39:55

标签: git

我有一个项目,我尝试同步代码。

第一次关闭我跑:

git pull origin master

并且发生了几次冲突:

Auto-merging mobile/www/img/meeting_details/attending_buttons_yes.png
Auto-merging mobile/www/css/group-details.css
CONFLICT (add/add): Merge conflict in mobile/www/css/group-details.css
Auto-merging mobile/platforms/ios/www/img/meeting_details/attending_buttons_yes.png
Auto-merging mobile/platforms/ios/www/css/group-details.css
CONFLICT (add/add): Merge conflict in mobile/platforms/ios/www/css/group-details.css
Auto-merging mobile/platforms/android/assets/www/img/meeting_details/attending_buttons_yes.png
Auto-merging mobile/platforms/android/assets/www/css/group-details.css
CONFLICT (add/add): Merge conflict in mobile/platforms/android/assets/www/css/group-details.css

我不关心我在CSS文件夹中的更改,因此在SVN中我删除了所有css个文件

rm -rf mobile/www/css/*.css

之后,我又跑了一次:

   git pull origin master

我希望恢复上面提到的文件,但得到了:

U   mobile/platforms/android/assets/www/css/group-details.css
M   mobile/platforms/android/assets/www/img/meeting_details/attending_buttons_yes.png
U   mobile/platforms/ios/www/css/group-details.css
M   mobile/platforms/ios/www/img/meeting_details/attending_buttons_yes.png
U   mobile/www/css/group-details.css
M   mobile/www/img/meeting_details/attending_buttons_yes.png

据我所知,U表示更新,M - 合并。

但我的css文件夹为空

我删除了本地文件以防止冲突,但听起来像我做错了

请帮忙,

2 个答案:

答案 0 :(得分:1)

您希望本地文件与远程主分支完全相同吗?如果是这样,您可以使用:

git reset --hard origin/master

答案 1 :(得分:1)

首先,确保git config core.autocrlf设置为false,否则git会尝试添加错误的eol样式(LF或CRLF)。

其次,在谈论Git时,所做的任何事情和#34;如SVN"都可能不会顺其自然。
Git的设计与SVN截然不同。

  

我不关心我的变化

然后:

git checkout origin/master -- .

(或git reset --hard,如建议的那样)

另见" How to handle/fix git add/add conflicts?"。