好的,所以我很确定我已经把它全部搞砸了,但是我希望有人可以告诉我我做错了什么以及正确的做法。
基本上,我做了一些改变,然后意识到我错了"分支"。所以,我想我可以简单地将我的更改文件夹复制到另一个位置,然后丢弃我未经修改的更改,切换到正确的分支,然后将我复制的文件夹放在" new"目录。但是,看起来我的待处理更改都没有复制到文件夹中。相反,文件都与原始状态匹配。即当我将复制的文件夹放到"正确的"分支,什么都没有改变......
我失去了大约一个小时的工作时间。有人可以解释一下发生了什么吗?
答案 0 :(得分:0)
绝对可以将修改后的文件复制到其他分支。
但要小心!根据如何复制它的方式,您还可以复制隐藏的.git
- 文件夹,其中包含本地git-repository的当前状态。因此,通过粘贴复制的隐藏git文件夹,您只需恢复对存储库所做的所有更改。
幸运的是,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
$
答案 1 :(得分:0)
好的......弄清楚了。我被困了#34;我未经注册的更改,然后切换到正确的分支和&#34;应用&#34;我的存在变化。
答案 2 :(得分:0)
执行此操作的一种方法是在错误的分支上提交更改,在正确的分支中选择提交,并在提交之前将其他分支重置为。不涉及复制,所有相关操作的完整reflog支持。