我想从现有的远程分支创建一个分支(让我们说远程-A),然后将更改提交到repo。
我使用以下命令从现有的遥控器A
创建一个本地分支$git checkout remote-A
git branch
master
* remote-A
现在我使用以下命令从远程A创建了local-B
git branch local-B
git checkout local-B
如何确保我在local-B上的更改位于remote-A之上,以便当我将local-B推送到远程repo时,更改位于remote-A之上?
答案 0 :(得分:8)
旧帖子,我仍然想添加我的内容。
1. git remote add <remote_name> <repo_url>
2. git fetch <remote_name>
3. git checkout -b <new_branch_name> <remote_name>/<remote_branch_name>
这一系列命令将
现在,如果您要将此新本地分支发布到您的远程并设置上游URL
git push origin +<new_branch_name>
此外,如果只需要进行远程更改,那么您可以完成,而不是第3步,
git pull --rebase <remote_name> <remote_branch_name>
然后选择了
如果发生任何冲突,请git mergetool
(需要单独配置),并遵循git中的控制台指令。
答案 1 :(得分:7)
你想在远程A的基础上创建分支,对它进行更改,然后将它们推到远程A上?
git checkout -b remote-A
git pull origin remote-A
git checkout -b remote-B
在remote-B上进行更改
git commit -a -m 'describe changes on remote-B branch'
git checkout remote-A
git merge remote-B
git push origin remote-A
答案 2 :(得分:6)
这应该有效:
git checkout --track origin/<REMOTE_BRANCH_NAE>
答案 3 :(得分:0)
我想从远程git分支使用不同的名称创建一个新的本地跟踪分支。
所以我用了这个命令:
git checkout -b <new_branch_name> --track <remote_name>/<remote_branch_name>
示例:
git checkout -b local-A --track origin/remote-A
我在上述答案的多条评论中都看到了它,但一见钟情是很好的。
跟踪分支是与远程分支有直接关系的本地分支。如果您在跟踪分支上并键入git pull,则Git会自动知道要从哪个服务器获取以及要合并到哪个分支。
答案 4 :(得分:-4)
要确保您的更改位于顶部,您不能从远程拉出。你必须获取并重新加入。 il将是这样的:
fetch->stash->rebase->stash pop->commit->push