[英]File changes of copied git directory are lost
好的,我可以肯定地說,我完全可以解決這個問題,但是我希望有人可以告訴我我做錯了什么,以及繼續進行下去的正確方法。
基本上,我進行了一些更改,然后意識到自己處於錯誤的“分支”中。 因此,我認為我可以將包含更改的文件夾簡單地復制到另一個位置,然后丟棄未提交的更改,切換到正確的分支,然后將復制的文件夾放在“新”目錄上。 但是,看來我所有未完成的更改都沒有復制到該文件夾中。 而是,所有文件都匹配原始狀態。 即當我將復制的文件夾移到“正確”分支上時,什么都沒有改變...
我損失了大約一個小時的工作時間。 有人可以解釋發生了什么嗎?
絕對有可能將修改后的文件復制到另一個分支。
但是要小心! 根據您是如何復制的方式,您可能還復制隱藏.git
-folder,其中包含本地的git的倉庫的當前狀態。 因此,通過將復制的隱藏git-folder粘貼回去,您只需還原對存儲庫之間所做的所有更改。
幸運的是,git提供了舒適的stash命令來實現相同功能,而無需手動復制任何內容。
使用git stash
來保存您的修改(它們存儲在隱藏的git-backend中):
$ git stash
Saved working directory and index state WIP on master: 8ba311c Initial Commit
HEAD is now at 8ba311c Initial commit
$
然后轉到所需的分支:
$ git checkout desired-branch
Switched to branch 'desired-branch'
$
最后重新應用您的修改:
$ git stash apply
On branch desired-branch
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: my-changes.txt
$
好吧...想通了。 我“隱藏”了未完成的更改,然后切換到正確的分支並“應用”了我的未更改。
git的方法是在錯誤的分支上提交更改,在正確的分支中選擇該提交,然后將另一個分支重置為該提交之前。 不涉及復制,對所有相關操作均提供全面的支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.