我的本地机器中有两个分支,即master,firstbranch。我的github存储库中有两个分支,即master和firstbranch_1。现在我想从我的localbranch(firstbranch)推送到分支firstbranch_1的远程存储库。我该怎么办?注意:我没有从github克隆任何东西。我首先创建了我的本地机器并将其推入repo然后在github中创建了一个分支。
答案 0 :(得分:0)
推。如果分支不相关,那么您可能必须强制它。
git push origin firstbranch:firstbranch_1
(假设遥控器被称为原点)
答案 1 :(得分:0)
/users/preferences?userid=bob
需要$ git push --set-upstream firstbranch
标志" connect"本地和远程分支,--set-upstream
将显示在您的Git日志中,origin/firstbranch
将显示
git status
如果本地和远程分支不同,则显示消息(因此您需要Your branch is ahead/behind 'origin/firstbranch' by XY commits
/ push
)。
pull
这将"克隆"分支并创建一个本地$ git fetch
$ git checkout firstbranch_1
Branch 'firstbranch_1' set up to track remote branch 'firstbranch_1' from 'origin'.
,连接到远程分支。
刚才意识到,我误解了你的问题。要连接本地firstbranch_1
和远程firstbranch
,请使用
firstbranch_1
但如果两个分支不同,则此命令将失败:
$ git push origin firstbranch:firstbranch_1
如果你想......
To https://github.com/whatever/repo.git
! [rejected] firstbranch -> firstbranch_1 (non-fast-forward)
error: failed to push some refs to 'https://github.com/whatever/repo.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
这将强制推送,远程$ git push --force-with-lease origin firstbranch:firstbranch_1
将替换为本地firstbranch_1
的提交。
firstbranch
这会删除本地$ git checkout firstbranch
$ git reset --hard origin/firstbranch_1
的更改,并将其提示移至远程firstbranch
。
firstbranch_1
这将保留$ git rebase origin/firstbranch_1 firstbranch
的提交并在其上应用firstbranch_1
。