我的本地系统中有2个分支,名为A
和B
。我结帐到B
表示我现在在B
。我写了一些代码,在该分支本身提交,但我没有将分支推送到远程。现在我结帐到A
,我遇到了一些问题,所以我想将B
推到远程。
是否可以从分支推送到另一个分支?
我在分支A
中遇到了这个问题:
B
结帐到A
后,会显示public/index.html: Permission denied
。我尝试从B
结帐到A
,但它不允许我。它显示以下消息:
error: Your local changes to the following files would be overwritten by checkout:
public/index.html
Please, commit your changes or stash them before you can switch branches.
Aborting
。
如何不丢失我在分支B
中编写的代码?
答案 0 :(得分:1)
这样做:
$ git push origin B:refs/heads/B
答案 1 :(得分:0)
执行git push origin the_other_branch_name
当你在另一个分支中使用非分段或暂存文件时,可以这样做(我只是尝试过)。
答案 2 :(得分:0)
在转移到任何其他分支之前,您可以暂时保存它们以便以后能够恢复它们(读取存储它们)或提交该特定分支的更改。
如果您已完成上述任何操作,您的更改将始终是安全的。
我想,在这里你可能想要隐藏你的更改而不是将分支B的更改推送到遥控器。
“git stash”是暂时保存所有更改的命令。您可以在任何分支上恢复这些更改。