我使用的唯一工作流程是
branch -> (write code -> commit)*n -> merge
我犯了一个错误,现在是
master -> write code
我害怕,如果我
... -> branch
我将丢失我的编辑,这些编辑不稳定。
是真还是假?
答案 0 :(得分:1)
每当你害怕失去变化时,都要提交它们。 (一旦你做了提交,git永远不会忘记。如果你不提交git,不知道这些更改,也无法帮助你。)
在您的情况下,只需执行git checkout -b mybranch
之类的操作即可。
另一种方式是git commit
,git branch mybranch
,git reset --hard HEAD^
。
首先(正如我在开头所写的那样)承诺一切都很重要。第二,给当前分支正确的名称。第三次将master重置为它所属的位置。 (如果你只做了一次提交HEAD^
就好了。如果你定义了一些上游@{u}
也没关系。)
如果您不确定发生了什么,请查看gitk --all
。这应该很好地可视化到底发生了什么。
答案 1 :(得分:0)
如果您要切换到新分支,工作副本不会受到影响,因此您可以执行
git checkout -b anewbranch
然后添加并提交您喜欢的任何内容。
一般来说,如果您的工作副本中有未提交的更改将被覆盖,Git将不允许您切换到分支。在这种情况下,您可以临时存储工作副本,签出分支并最终恢复它。
git stash
git checkout anotherbranch
git stash pop