git 如何从现有的远程分支创建本地分支?

i7uq4tfw  于 2023-01-15  发布在  Git
关注(0)|答案(8)|浏览(330)

我想从现有的远程分支创建一个分支(比如remote-A),然后将更改提交到仓库。
我已经使用以下命令从现有的remote-A创建了一个本地分支

$git checkout remote-A

git branch
master
* remote-A

现在,我已经使用以下命令从远程A创建了本地B

git branch local-B
git checkout local-B

如何确保我在local-B上所做的更改位于remote-A之上,以便当我将local-B推送到远程存储库时,这些更改位于remote-A之上?

uwopmtnx

uwopmtnx1#

这应该行得通:
git checkout --track origin/<REMOTE_BRANCH_NAE>

jei2mxaa

jei2mxaa2#

你想在remote-A的基础上创建分支,对其进行更改,然后将更改推送到remote-A上吗?

git checkout -b remote-A
git pull origin remote-A
git checkout -b remote-B

在远程B上进行更改

git commit -a -m 'describe changes on remote-B branch'

 git checkout remote-A  
 git merge remote-B  
 git push origin remote-A
kx7yvsdv

kx7yvsdv3#

我想用一个不同的名字从一个远程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会自动知道从哪个服务器获取数据,合并哪个分支。

yws3nbqq

yws3nbqq4#

首先,我们需要使用以下命令获取远程分支

git fetch origin <remote-branch>

然后创建一个新的本地分支来跟踪远程分支

git checkout -b <local-branch> origin/<remote-branch>

origin替换为您的远程名称。

puruo6ea

puruo6ea5#

首先通过以下方式下载所有远程分支:

git fetch

然后从它创建一个本地分支:

git checkout -b local_branch_name origin/remote_branch_name
vsnjm48y

vsnjm48y6#

自2.23版引入git switch以来:

git switch -c <new-branch> <start-point>

其中<start-point>是您的远程分支,例如origin/main

agyaoht7

agyaoht77#

为了确保你的修改在最上面,你不能从remote拉取。你必须获取并重新定基。il将是这样的:

fetch->stash->rebase->stash pop->commit->push
5gfr0r5j

5gfr0r5j8#

老职位,我仍然想补充我做什么。

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>

这一系列命令将
1.创建一个新的遥控器,
1.把它带到你的本地,这样你的本地git就知道它的分支和所有的东西,
1.从远程分支创建一个新分支并 checkout 到该分支。
现在,如果您想将这个新的本地分支发布到远程分支并设置上游url
git push origin +<new_branch_name>
此外,如果您只需要接受远程更改,并且远程已经存在于您的本地中,那么您可以完成,而不是步骤2和3,

git pull --rebase <remote_name> <remote_branch_name>

然后选择了git mergetool(需要单独配置)以避免冲突,并按照git的控制台说明操作。

相关问题