在我的应用程序中,我正在一个名为v4.0
的分支上工作。
在那个分支中,我对13-14个未暂存的文件进行了更改,一段时间之后,我意识到我必须在v4.0.1
上执行此操作,这是错误地发生的。 v4.0上的更改已取消。
有什么方法可以转移我从v4.0.1
创建的v4.0
中的所有更改,而不必在v4.0
中进行更改。
答案 0 :(得分:2)
假设您知道暂存与提交不同,则可以尝试提取diff并在以后应用它们:
首先,提取差异文件(确保差异文件位于存储库外部,或在.gitignore
中被忽略):
git diff > ../unstaged.diff
然后,删除未分段的更改:
git stash save --keep-index --include-untracked
检出目标分支并应用差异:
git checkout v4.0.1
git apply ../unstaged.diff
答案 1 :(得分:2)
是的,有多种方法可以实现您想要的。您可以存储所做的更改并将其弹出到所需的分支中:v4.0.1
。
假设您位于分支v4.0
上,并且进行了暂存的更改,请执行以下命令:
git stash -u
git checkout v4.0.1
git stash pop
然后您可以分阶段进行更改并将其提交到分支v4.0.1
中。
请注意,-u
选项仅在工作空间中有未跟踪的文件时才需要。