2014-03-01 124 views
0

我在我的本地系统中有2个分支,名为AB。我结帐到B意味着现在我在B。我写了一些代码,在该分支中提交,但我没有将分支推送到远程。现在我结帐到A,在那里我遇到了一些问题,所以我想将B推送到远程。如何推分支到远程

是否可以从分支推送到另一个分支?

我面对的分公司A此问题:

  • 结帐从BA后,它显示public/index.html: Permission denied
  • 我试图从A结帐到B,但它不允许我。它显示以下消息:

    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中写的代码?

回答

1

这样做:

$ git push origin B:refs/heads/B 
+0

我跑你的第一个命令,但它显示'$ git存储 public/index.html:权限被拒绝 没有本地更改来保存'.尽管我运行剩余的命令它不工作。 – user3279058

+0

试试这个'$ sudo git stash' – Agis

+0

它显示'sh.exe':sudo:command not found'。 – user3279058

0

git push origin the_other_branch_name

这是确定这样做,而你的工作是与任何不分级或分级的文件(我只是尝试过)另一个分支。

0

在转移到任何其他分支之前,您可以暂时保存它们以便能够稍后恢复它们(读取存储它们)或提交该特定分支的更改。

如果您已完成上述任何操作,您的更改将始终安全。

我想,在这里你会想要存储你的更改,而不是将分支B的更改推送到远程。

“git stash”是临时保存所有更改的命令。您可以在任何分支上恢复这些更改。