2014-03-01 71 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」是臨時保存所有更改的命令。您可以在任何分支上恢復這些更改。