簡體   English   中英

我該如何回到我的master分支而不丟失所有先前的提交?

[英]How can I go go back to my master branch without losing all previous commits?

我正在通過Xcode使用git。 幾天前,我在項目中添加了一個遠程存儲庫。 那時我沒有注意到它,但是由於某種原因,Xcode取消選擇了master分支作為我的當前分支,並且在過去的兩天中,我所有的提交都是(...)<-在哪里? 這就是問題所在。 現在,每次我嘗試推送提交時,都會收到“無法確定當前分支”消息。 我可以結帳master,但是那樣我會損失兩天的提交時間。

現在如何在不丟失進度的情況下選擇master分支作為當前分支?

我試圖從上一個主提交分支出來,但仍然無法解決,因為無法保存更多的最新提交。

將我的評論移至答案:

一種解決方案是創建一個臨時分支(通過命令行),該分支上將包含您的所有提交,然后將其合並到master中。.XCode-9與其合並的新git工具相比有很多bug。不再顯示當前分支)。

為此,您可以執行以下操作:

git checkout -b "Temporary"

這會將您切換到名為“臨時”的分支。

然后,您執行以下操作:

git commit -m "Your Changes".

提交對“臨時”所做的更改(如果有)。

然后,您執行以下操作:

git push origin -u "Temporary"

這會將“ Temporary”分支推到上游並跟蹤其變化。 最后,您可以將該分支合並到master或git pull origin master以將master合並到該分支。

由於它已經是基於master的,因此除非您在使用master時將其他更改提交到master,否則可能不需要拉。

在執行不熟悉的git操作之前,我總是對整個項目文件夾進行備份,其中包含.git隱藏文件夾。 這將備份您的提交和項目。

不知道我是否應該提到這一點,但是通常您總是希望在master以外的其他分支上工作Feature/BlahBlahFeature/BlahBlah ,然后合並到master中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM