簡體   English   中英

復制的git目錄的文件更改丟失

[英]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

$

好吧...想通了。 我“隱藏”了未完成的更改,然后切換到正確的分支並“應用”了我的未更改。

https://answers.atlassian.com/questions/181773/change-commit-code-to-other-branch-sourcetree-for-windows

git的方法是在錯誤的分支上提交更改,在正確的分支中選擇該提交,然后將另一個分支重置為該提交之前。 不涉及復制,對所有相關操作均提供全面的支持。

暫無
暫無

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

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