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

Git 如何从现有远程分支创建本地分支?,git,git-branch,Git,Git Branch,我想从现有的远程分支(比如remote-a)创建一个分支,然后将更改提交到存储库 我已使用以下命令从现有的remote-a创建本地分支 $git checkout remote-A git branch master * remote-A 现在,我已经使用下面的命令从远程A创建了本地B git branch local-B git checkout local-B 如何确保本地-B上的更改位于远程-A之上,以便当我将本地-B推送到远程回购时,更改位于远程-A之上?为了确保您的更改位于之上,

我想从现有的远程分支(比如remote-a)创建一个分支,然后将更改提交到存储库

我已使用以下命令从现有的remote-a创建本地分支

$git checkout remote-A

git branch
master
* remote-A
现在,我已经使用下面的命令从远程A创建了本地B

git branch local-B
git checkout local-B

如何确保本地-B上的更改位于远程-A之上,以便当我将本地-B推送到远程回购时,更改位于远程-A之上?

为了确保您的更改位于之上,您不能从远程回购中提取。你必须取回并重新定基。il将是这样的:

fetch->stash->rebase->stash pop->commit->push
git checkout -b remote-A
git pull origin remote-A
git checkout -b remote-B

您想在remote-A的基础上创建分支,对其进行更改,然后将其推送到remote-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

老帖子,我还是想补充一下我的工作

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。git远程添加
2.git获取
3.git签出-b/
这一系列命令将

  • 创建一个新的远程
  • 把它带到你的本地git中,让你的本地git知道它的分支和所有
  • 从远程分支创建一个新分支并签出到该分支
  • 现在,如果您想将这个新的本地分支发布到您的远程站点,并设置上游url

    git推送原点+

    此外,如果您的需求是只接受远程更改,并且本地中已经存在远程更改,那么您可以执行,而不是执行步骤2和步骤3

    git pull --rebase <remote_name> <remote_branch_name>
    
    git-pull——重新基址
    
    然后选择了
    git mergetool
    (需要单独配置)以防出现任何冲突,并遵循git的控制台说明。

    这应该可以:


    git签出——跟踪原点/

    我想从一个具有不同名称的远程git分支创建一个新的本地跟踪分支

    所以我用了这个命令:

    git签出-b--跟踪

    例如:

    git checkout-b local-A——跟踪原点/远程-A

    我在对上述答案的多个评论中看到了这一点,但第一眼看到这一点很好


    跟踪分支是与远程分支有直接关系的本地分支。如果您在跟踪分支上并键入git pull,git会自动知道从哪个服务器获取数据以及合并到哪个分支。

    我想我添加的命令将对您有所帮助。还是我误解了你的话?我通常会取遥控器,从中创建一个分支,处理它,将更改推送到我的原始遥控器,将PR提升到主回购,一旦它被合并,我会删除功能分支。这有助于我分离许多任务并保持树的整洁。
    git checkout-b/
    是我试图找到的命令。没别的了。我删除了原始语句,因为它看起来很混乱。您可以使用
    -t
    创建同名的本地分支,以节省键入的时间-
    git checkout-t/
    在第3步中,如果您不想让新分支跟踪远程分支,请使用
    --no track
    。@xploreraj您的答案正是我想要的,非常感谢。在git文档中:“git pull--rebase”是“git fetch”和“git rebase”的缩写。查看是否要为新分支指定一个特定名称:
    git checkout-b master copy-跟踪原始/原始
    ,将
    master copy
    替换为您想要的任何内容。现在,
    git checkout feature/a
    将设置一个新的分支跟踪远程
    原始/特征/a
    ,除非
    特征/a
    已经存在。您还可以使用
    git checkout-b feature/A--track origin/feature/A
    显式执行此操作。