2016-07-30 86 views
1

好吧,現在我似乎已經走了,得到的東西都搞砸了。切換分支提示保存文件

我想了解Git是如何工作的以及如何在Visual Studio/TFS 2015.3環境中使用它。

問題出在這裏:當我創建一個分支並對其進行更改時 - 例如添加一個新的SomeClass類-VS現在詢問我是否想要在雙擊切換分支時保存已更改的項目。這種行爲是新的 - 以前我可以在沒有這種提示的情況下切換分支。

忍耐與我在這裏...我需要給你一個悠久的歷史,所以你會知道整個上下文。

我設法得到一個VS解決方案與遠程回購同步。我跑了我的第一個TFS構建,我非常興奮。然而,構建產生了一個警告,說沒有測試運行。很公平;我沒有包括一個測試項目。於是我創建了一個名爲add-test-project的新本地分支並添加了該項目。

我發現在VS中,我可以通過雙擊每一個在masteradd-test-project之間來回切換。我注意到master分支沒有包含測試項目,但add-test-project分支沒有。這是有道理的;我還沒有合併任何東西。

所以我做了合併/提交/拉請求/同步的事情(我不記得是如何或以什麼順序),它似乎已經工作 - 構建沒有註冊此警告。

(旁註:當我做拉入請求我有點失望地看到VS在我的默認打開相應的TFS網頁瀏覽器,我本來想要做這一切的IDE內)

我已經決定跳過整個請求,因爲1)我想留在IDE中,2)我在單獨工作,所以這是一個不必要的步驟。這是我認爲最終導致我的麻煩。然後我做了更多的分支/同步/提交/合併週期(就像我說過的,我不記得,也不完全確定我按照哪種順序/應該這樣做 - 而且每個週期都有不同的順序我確定)。現在我不能在不提示保存更改的情況下切換分支。這兩個分支都有這些變化。

我的本地Git倉庫被破壞了嗎?我嘗試使用文件資源管理器刪除.git.vs隱藏文件夾,重新打開VS並重新克隆回購,但問題依然存在。

我該如何回到原來的位置,我可以在哪裏切換分支以查看特定於當前分支的代碼狀態?也許以某種方式從服務器上刪除所有提交?但我沒有找到辦法做到這一點。

我確信我可以用'焦土解決方案'來解決這個問題。把所有東西都抹掉,從頭開始,但我想知道我做錯了什麼(以及如何解決它),所以我可以避免再次這樣做。

編輯

值得一提的是,現在事情已經過去了這麼慘,當我在做一個類文件e.g的變化。添加一個構造函數-VS不再在該文件旁邊放置一個紅色複選標記。有東西真的在這裏橫向走了。

回答

1

好的,我想通了。我正在舉辦一個喜劇的錯誤。

首先,我將解釋複選標記問題:事實證明我已經重新複製到一個完全不同的位置,所以我甚至沒有打開正確的解決方案。因此,我不應該在早些時候只刪除.git.vs文件夾,而應該刪除本地的所有內容,並通過重新克隆到原始位置從頭開始。

現在保存文件提示問題:我沒有提交到我的本地回購更改。一旦我做到了,我可以在分支之間來回切換,並且這些更改如預期般反映出來。

現在我敢肯定,我已經得到了正確的順序下降:

  1. 新分支
  2. 進行所需的代碼更改
  3. 本地提交
  4. 本地合併掌握
  5. 推送到遠程

如果我對這個順序不正確有人會這麼說,或者我是否正確確認。謝謝。

編輯

我還建立了自己的新規則:使用相同的名稱爲當地回購爲遠程。

+1

是的,在更改分支之前,必須提交(或存儲,但這完全是一個完全不同的命令)您的更改。是的,那是正確的順序。 – ChallahuAkbar

+0

@ChallahuAkbar:很好,謝謝你:-) – InteXX