sta*_*tti 42 git version-control branch
我目前在调试分支上,并且想要切换到主分支,而不修改工作树(保留它在调试分支中的方式),因此我可以将一些更改提交到主分支.
有没有办法做到这一点?
sie*_*egi 53
您可以执行以下操作:
git checkout --detach
git reset --soft master
git checkout master
Run Code Online (Sandbox Code Playgroud)
说明:
如果你在debug
分支机构并且会这样做,git reset --soft master
你将保持工作树和索引不变,并移动到提交master
点.问题是,debug
也将重置为此提交.因此,您的提交debug
"丢失"(嗯,不是真的,但它们不再可以直接访问)并且您仍然在debug
分支机构.
要防止git reset
移动debug
但仍设置HEAD
为master
提交,首先git checkout --detach
要HEAD
直接指向当前提交(请参阅man git-checkout
"已分离的头"部分).然后你可以在不触及debug
分支的情况下进行重置.
现在HEAD
直接指向提交master
点,即它仍然是分离的.您可以简单git checkout master
地附加到master
现在并准备在master
分支上提交.
CB *_*ley 47
虽然您应该小心使用此命令,但您可以重置指向master,而无需更改索引或工作树:
git symbolic-ref HEAD refs/heads/master
Run Code Online (Sandbox Code Playgroud)
您应该重置索引,以便您可以有选择地应用您的工作树更改,否则您可能最终提交master和debug分支之间的所有差异,这可能是一件坏事.
git reset
Run Code Online (Sandbox Code Playgroud)
一旦完成了要进行的提交,就可以使用以下命令返回调试分支:
git symbolic-ref HEAD refs/heads/debug-branch
git reset
Run Code Online (Sandbox Code Playgroud)
您可以存储(git stash
)更改,切换分支,取消暂停(git stash pop
)更改,添加和提交更改.
如果您想要精确的调试状态,那么只需将debug合并到master(或将master重置为debug).
归档时间: |
|
查看次数: |
9535 次 |
最近记录: |