如何在丢失所有以前的提交后返回旧版本的git存储库?

时间:2017-08-08 12:52:45

标签: git github version-control git-commit git-push

Backstory

我的回购(说'ABC')托管在github(但我没有本地版本)。

我想在同一个仓库中添加更多文件。

我做了什么

我创建了一个新的本地目录(比如'xyz')

移入其中并初始化git

cd xyz
git init

添加git remote以链接'ABC'

git remote add origin {link to ABC}

创建了一些新文件并提交了它们

git add ./
git commit -m "commit message"

接下来,当我尝试将新提交推送到github

git push origin {branch-name}

我收到一条警告,说我的本地计算机中缺少远程存储库的某些文件。

然后,我尝试了强制推送

git push -f origin {branch-name}

当然(我当时不知道)我丢失了以前所有的'ABC'文件,现在我只有1次提交(强制推送)。

也;我甚至没有先前提交的SHA(至少我找不到它们)所以,git checkout <commit>不起作用。 git resetgit revert

也不是。<div id="$searchResults_children" class="treeChildContainer" style="margin-left: 0px; display: block;"> <div id="$InteractionsAHT Call FactsTransfer Attempts" class="treeNode" style="display: block;"> <span class="masterTreeLine treeLine" style="display: block;"> <img id="$InteractionsAHT Call FactsTransfer Attempts_disclosure" src="res/v-0YH2UYTNo3k/s_Alta/uicomponents/obips.Tree/disclosure_collapsed.png" alt="" class="treeNodeDisclosure" style="visibility: hidden;"> <span id="$InteractionsAHT Call FactsTransfer Attempts_details" class="treeNodeDetails" title="Interactions/Inbound Call Facts/AHT Call Facts"> <img src="res/v-0YH2UYTNo3k/s_Alta/uicomponents/obips.Tree/measure.png" alt="" class="treeNodeIcon"> <span class="treeNodeText">Transfer Attempts</span> </span> </span> <div id="$InteractionsAHT Call FactsTransfer Attempts_children" class="treeChildContainer"></div> </div> <div id="$InteractionsCSS Call VolumesTransfer %" class="treeNode" style="display: block;"> <span class="masterTreeLine treeLine" style="display: block;"> <img id="$InteractionsCSS Call VolumesTransfer %_disclosure" src="res/v-0YH2UYTNo3k/s_Alta/uicomponents/obips.Tree/disclosure_collapsed.png" alt="" class="treeNodeDisclosure" style="visibility: hidden;"> <span id="$InteractionsCSS Call VolumesTransfer %_details" class="treeNodeDetails" title="Interactions/Rant & Rave Survey Scores/CSS Call Volumes"> <img src="res/v-0YH2UYTNo3k/s_Alta/uicomponents/obips.Tree/measure.png" alt="" class="treeNodeIcon"> <span class="treeNodeText masterTreeLineSelected treeLineSelected masterTreeLineActive treeLineActive treeNodeFocusClass">Transfer %</span> </span> </span> <div id="$InteractionsCSS Call VolumesTransfer %_children" class="treeChildContainer"></div> </div> </div> List<WebElement> searchResults = driver.findElements(By.xpath("//div[@id='$searchResults_children']/div")); for (WebElement searchResult : searchResults) { String item = searchResult.getText(); if (item.equals(searchItemName)) { WebElement tooltip = searchResult.findElement(By.xpath("//div[@id='$searchResults_children']/div[@class='treeNode']/span[@class='masterTreeLine treeLine']/span[@class='treeNodeDetails']")); String tooltipName = tooltip.getAttribute("title"); System.out.println("Mertic: " + item + "\nTooltip: "+ tooltipName); } }

但是在ABC github存储库中搜索,我发现了一个,它显示了我想要的文件。我是否可以使用此树或任何其他步骤来取回丢失的文件。

请忽略任何错误和我孩子般的写作。一些技术描述可能是错误的,因为我是git的新手。随意回复。

提前致谢!

**

使用1次提交显示我的ABC回购状态:https://github.com/rdrsadhu/UEM-Kolkata-B.Tech

[这不再是真的了。我通过提交c005a51]

恢复了我的文件

ABC repo的树我正在谈论:https://github.com/rdrsadhu/UEM-Kolkata-B.Tech/tree/9e394c24e708e590ec72e5d772be13749fb8cad3

1 个答案:

答案 0 :(得分:1)

转到此处:

https://github.com/rdrsadhu/UEM-Kolkata-B.Tech/commits/9e394c24e708e590ec72e5d772be13749fb8cad3

在Tree下拉列表中,在此提交上创建一个新分支(也可以在树链接中工作)。现在应该在该分支下恢复提交。将分支获取到本地,然后将其重置为master。然后推力。