我经常用
来改变ADODB.RecordSet
和
adOpenStatic
有两周我发现分支,所以我在该分支中创建了一个分支和代码。现在我执行git add *
并且我丢失了很多文件(有分支创建之前的文件被删除)
这是毁了1年的工作。
检查分支主机后,我的分支名称test被删除了(我不知道怎么可能)
我已经用recuva检查了文件完全不和。
(对不起我的英语不好)
由@underscore_d解决:
git commit -m "message"
我获得了最后一个HEAD的列表
git checkout master
所以我输入
1) git reflog
然后把我的所有文件都归还。
答案 0 :(得分:0)
git checkout master
将您的工作副本更改为主分支 - 您的其他分支仍在那里,您只需要将工作副本更改回它。
git checkout <branchname>
应该这样做 - 之后您可能需要将分支内容合并到主人。 git help checkout
git help merge
应该会对您有所帮助。
答案 1 :(得分:0)
你签出了master,所以git将你的工作树恢复到最后一次提交的状态。如果您想返回反映您提交给分支机构的所有内容的状态,请查看分支机构。 (你没有说出分支的名称;我认为它是my_branch
。)
git checkout my_branch
如果您想将您在分支上所做的更改合并到master
,则可以合并。
git checkout master
git merge my_branch
将来,您可能希望在尝试使用之前了解某个功能,而不仅仅是“发现”它。
答案 2 :(得分:0)
所以,这听起来像是,而不是承诺分支,你承诺分离HEAD
。因此,签出master
意味着您已经“失去了”#39}。对您一直在处理的提交的引用。
但并非一切都没有丢失。 git
会记录它所见过的引用,并且这些内容永远不会丢失,直到垃圾收集运行并删除已经配置的保留期孤立的内容。您可以通过运行git reflog
来查看此内容。
幸运的是,通过这样做,正如您所见,即使不属于任何分支的提交仍保留在git
的数据库中,您可以查看它们。< / p>
你现在应该做的是git reset
某个分支指向你正在恢复的最新提交,否则你仍然会在detached HEAD
并且可能会进入以后再次出现同样的问题...因此,如果您希望master
指向恢复的提交,请运行git checkout master && git reset --hard [the hash]
。或者使用detached HEAD
从git checkout -b phew_that_was_a_close_one
创建新分支。