[英]How do I go to the latest commit from remote/master in git?
我不小心將文件保存在錯誤的分支上。 然后我做了git reset --soft HEAD^
現在git status
說我落后了14次提交並列出了一堆紅色的修改過的文件。 包括一些未跟蹤的文件。
我不知道該怎么做。 我試圖從遠程倉庫轉到最新的提交但它說我的git pull
后我的本地更改將被覆蓋。
救命。 我不想搞砸我當地的回購。 我只想回到我所處的狀態,將編輯后的文件保存在正確的分支中,然后提交。
如果您更改了本地分支,並且不想丟失任何更改,則可以使用git-stash 。 在嘗試之前,我建議您備份本地存儲庫 。 請嘗試以下步驟:
git stash save 'local changes'
。 這將在臨時位置保存您的本地更改,並允許您在沒有任何先前更改的情況下處理當前分支。
git pull <remote-name> <branch-name>
。 如您所知,它將從遠程分支檢索更新的提交,並應用於您的本地分支。
git stash pop
。 這將恢復您在步驟1中執行的操作 。 它將對您之前的更改(您保存的更改)應用於本地分支。 如有任何沖突,您有責任解決任何沖突。 完成后,您可能想要提交並推送 - 這取決於您。
不要驚慌
備份您的存儲庫。
使用git stash save
您的更改。 這會將您的更改保存在藏匿處 。
然后,從遠程分支git pull <remote> <wrong-branch>
: git pull <remote> <wrong-branch>
。 這會將您的工作副本返回到原始分支HEAD。 在開始處理變更集之前,這就是您的分支的樣子。
現在,將隱藏的更改應用於您的工作副本: git stash apply
。 Git會足夠聰明地忽略與現有提交相匹配的隱藏更改,因此您將使用與提交錯誤分支之前相同的狀態保留工作副本。
現在簽出正確的分支,並像往常一樣提交:
git checkout <right-branch> git add [...] git commit -m "blah blah blah"
如果您的更改集與正確的分支不兼容,則在簽出正確的分支時可能需要糾正您的更改,但一旦完成,您的更改現在將在正確的分支上提交。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.