2014-04-15 30 views
0

我一直在與一系列同學在一個項目上工作。一場意外導致我將自己的存儲庫弄得一團糟,無法使用,而且我不確定問題何時發生。我相信簡單地清空我的存儲庫並從最新的同學提交中抽取出來更容易,但是當我這樣做時,什麼都不會發生。我的存儲庫仍然是空白的。從以前的隊友回購隊友

我們都從教師的基本信息庫叉,而我們使用Git擴展,因爲我們都是新的Git(但使用它的類必需的。)

enter image description here

我試圖在標題爲「更新遊戲」的日子早些時候回覆Shade的提交,但我不知道如何去做。我如何去做這個過程?

回答

0

當你試圖做任何事情,但最簡單的東西與Git時,你會很快感到沮喪。這是你做更復雜的事情之一,你需要使用終端;)。兼營:

git checkout master 
git reset --hard Shade/master 

注意這將摧毀任何提交的工作

現在master將指向Shade/master指向的提交。這是你的問題的答案。但!有一個你應該考慮的問題。通過將您的master放在origin/master的後面,您已經創建了一種無法再推送到origin/master的情況,因爲origin會拒絕非快進推送。你所要做的是「虛擬合併」 origin/master到你的本地副本,這樣的:

git merge --ours origin/master -m "Fix botched work" 

--ours國旗丟棄在另一個分支中,否則可能已經在合併的任何改變現在你可以把不origin抱怨。

希望有幫助!

+0

在您嘗試這些之前,請確保您不能只執行'git reset --hard HEAD'重置爲當前提交,恢復工作目錄中的所有文件。這聽起來像你可能剛剛乾掉了工作目錄,沒有任何'git pull'會讓Git恢復它們。 – thirtythreeforty

+0

雖然重置頭部並沒有完成這項工作,但這是一個很好的建議!讓一個新的分支解決了我在回購時遇到的問題,但看起來我真正的問題是坐在Gradle中,而不是在我的回購庫中丟失文件。感謝您的幫助! – user3534150

0

使用git log來獲取提交哈希像43566df6a26a31a2d44ad102ffa241a0ab55edde。你可以使用git checkout,然後使用git checkout -b從這一點開始創建一個新的分支。你也可以用git分支刪除舊分支-D git分支-m支持移動(重命名)新分支。

相關問題