我在本地 repo (branch develop
) 中运行了以下命令集,以尝试assets/App
在我的项目中 git 一个子目录 () 以链接到远程 repo 的App
目录,这样当他们更新代码时,我可以获取这些更新而无需复制/从克隆粘贴:
git remote add durandal git://github.com/BlueSpire/Durandal.git
git fetch durandal #now I have a remote branch with all of Durandal
git checkout -b durandal durandal/master #now I have a local branch with the contents of durandal/master and have switched to it
git config core.sparsecheckout true #trying some sparse-checkout stuff, not really understanding what I'm doing
echo App/ > .git/info/sparse-checkout
git checkout develop #back in my develop branch
git read-tree --prefix=assets/App/ -u durandal #all hell breaks loose
此时,我的所有文件都已从分支中删除,develop
除了assets/App/
(以及位于 中的那些文件.gitignore
)现在具有从durandal branch
App 文件夹复制的内容。我立马跑git reset --hard
了也没用。我尝试用 sha 重置。没有。我尝试从我的 Dropbox 遥控器中拉出,该遥控器应该已经备份了所有内容。同样的交易。我厌倦了切换到 master 并且所有文件也从那里消失了,我完全不明白。我看不到如何恢复。
我知道我不应该在没有真正了解我在做什么的情况下这样做,但是有人可以帮助我将我的回购恢复到我实验之前的位置吗?其次,我做了什么导致这种情况,我如何才能完成我想做的事情?