2013-02-19 126 views
1

我的git工作流是這樣的: 1. pull --rebase from origin/master 2.爲特定問題創建一個新分支並對該分支進行更改 3.開關頭回主然後合併我創建於掌握「git checkout」不更新文件

從文檔頁面

新的分支,git的結帳是假設

更新的文件在工作樹匹配版本索引或指定的樹

但是,當我對新分支和結賬主進行更改並使用'git status'檢查狀態後,更改的文件仍然存在。

最糟糕的是,我已經在Visual Studio的git擴展中使用了'撤消文件修改'選項,現在即使我切換回使用'checkout'命令創建的分支,我也不會再看到我的更改。無論如何,我可以重做這些改變?

+0

你有一個提交與新的更改相關聯(根據你的消失)? – uday 2013-02-19 20:07:59

回答

2

在「checkout master」之前,您確定您正在提交您正在處理的分支中的文件嗎?

確保您提交正在處理的分支中的文件。否則,如果git放棄更改的文件,您將永遠失去它們。

如果您不想提交文件,請嘗試查看git stash。 Git存儲允許您臨時保存更改,而不必將它們提交給任何分支。

+0

嗨sandesh247,謝謝回覆。在我的情況下,我還沒有,因爲我還沒有足夠的信心承諾。看起來我失去了我的改變,我必須重新開始。 – 2013-02-19 20:20:24

+2

即使你不確定你的改變,你也應該經常提交。造成這種情況的原因有兩個:1.變化是本地的 - 在你推動它們之前沒有人會看到它們。你總是可以通過使用git commit --amend來改變提交 – sandesh247 2013-02-19 20:24:32