2015-06-04 61 views
2

我已經進入了一些關於源代碼控制的熱水。我已經使用git checkout - <file>刪除了我的project.pbxproj文件。我應該在本地刪除分支並從原點拉出嗎?

我剛剛獲得了一個功能分支,以使我團隊中的另一位開發人員創建並開發了這個功能分支,這需要添加一些文件。然後他爲該項目添加了一些額外的代碼,並且我希望恢復到我開始使用的分支的版本,然後再抽出他的新代碼,以便我不必擔心合併這些新文件。

所以,按照Git的建議,我不分階段我已經制造和使用的修改:我曾以爲,拉將取代project.pbxproj

git pull 

git checkout -- ScrollingTextLabels.xcodeproj/project.pbxproj 

其次文件與來源的一個,而不是git吐出了很多以「刪除模式」開頭的行,最讓人不安的是:

delete mode 100644 ScrollingTextLabels.xcodeproj/project.pbxproj 

每次我嘗試打開該項目上的這個分支,現在我在Xcode收到以下錯誤信息:

項目/Users/myname/Documents/Code/organization/product-ios/ScrollingTextLabels.xcodeproj不能因爲它缺少project.pbxproj文件而被打開。

我已經能夠切換到其他分支,這些分支仍然正常工作,並且必須有他們的project.pbxproj文件。我試圖用git reset --hard無濟於事。我是否應該強制覆蓋(la How do I force "git pull" to overwrite local files?)?

我應該在本地刪除分支並從原點拉出嗎?

我想要的只是這個分支的遠程版本,它運行良好,在我的計算機上顯示不變,以便我可以打開它並繼續工作。

+0

'git reset --hard '的輸出是什麼? – bitoiu

+1

您是否確信該分支的遠程版本具有該文件,並且「運行良好」?通過你拉動的'刪除模式'信息來判斷,似乎有人刪除了它。 –

+0

@bitoiu'git reset --hard' outputs'HEAD現在處於011abef [我試圖重置的提交提交消息]' – eLillie

回答

1

在合併過程中的消息

delete mode 100644 ScrollingTextLabels.xcodeproj/project.pbxproj 

(或拉動),表示該文件是在待合併分支刪除。它不再存在於其他分支中,您的同事必須刪除該文件。

刪除分支並拉動通常不能解決任何問題。您已經從遠程進行了所有更改(可能位於origin/branch)。從該提交中檢出新分支或重置爲該分支(可能會丟失所有本地更改!)

使用git log origin/branchgitk查看分支的更改。您也可以僅使用git log origin/branch -- ScrollingTextLabels.xcodeproj/project.pbxproj來顯示此單個文件的日誌。這應該告訴你,文件發生了什麼以及它是否在分支中被刪除。

相關問題