欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Git跟踪远程分支 追踪远程分支 有大用

如何告诉git本地分支跟踪远程分支?


                     

                   

默认情况下,Git中的分支彼此无关。但是,当您告诉本地分支“跟踪”远程分支时,将在这两个分支之间创建连接。您的本地分支现在在远程服务器上具有一个“对应”。

为什么要设置跟踪连接?

假设您当前的本地HEAD分支名为“ dev”。而且,我们还说您已经设置了它来跟踪名为“ origin”的远程服务器上的“ dev”分支。这种关系非常重要,原因有两个:

推拉变得容易得多。您可以简单地使用速记命令“ git pull”和“ git push”-不必像“ git push origin dev”中那样考虑确切的参数。比“轻松”更重要的是,这还可以防止您犯错误!

Git现在可以通知您有关“未推动”和“未推动”的提交。让我们举个例子:

(一)如果你有2个提交本地,你有没有推到远程的是,当地分公司是“提前2个提交”及其远程副本分公司。
(二)另一方面,如果尚未下载的远程分支上有4个提交,则本地分支位于其远程对应分支的“ 4个提交后面”。

                    

这些信息对保持最新状态有很大帮助。Git在“ git status”的输出中告诉您有关此权限的信息:

$ git status
# On branch dev
# Your branch and 'origin/dev' have diverged,
# and have 1 and 2 different commits each, respectively.
#
nothing to commit (working directory clean)
                   

您如何跟踪远程分支?

创建跟踪连接有三种主要方案。

 当您开始在现有的远程分支上工作时

假设您的一位同事已经启动并在您的远程服务器上发布了一个分支。现在,您也希望加入并开始研究该主题。在这种情况下,只需将–track标志与“ git checkout”命令一起使用:

$ git checkout --track origin/dev
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'
                   

这将创建一个与远程分支同名的新本地分支-并直接在两者之间建立跟踪连接。

 当您发布本地分支机构时

现在让我们看一下相反的情况:您启动了一个新的本地分支,现在想第一次将其发布在远程服务器上:

$ git push -u origin dev
                   

您可以简单地通过将-u标志与“ git push”一起使用来告诉Git跟踪新创建的远程分支。

 当您在以后的某个时间决定

如果您只是忘记了,可以随时为当前HEAD分支设置(或更改)跟踪关系:

$ git branch -u origin/dev
                   


                   

来自  https://www.11meigui.com/2020/ru-he-gao-su-git-ben-di-fen-zhi-gen-zong-yuan-cheng-fen-zhi.html                    


          

    

   

git之什么是分支追踪及其应用

         
               

跟踪远程分支

如果用git push指令时,当前分支没有跟踪远程分支(没有和远程分支建立联系),那么就会git就会报错

  1. There is no tracking information for the current branch.

  2. Please specify which branch you want to merge with.

           

因为当前分支没有追踪远程指定的分支的话,当前分支指定的版本快照不知道要作为服务器哪一个分支的版本快照的子节点。简单来说就是:不知道要推送给哪一个分支。
那么如何建立远程分支:

  1. 克隆时自动将创建好的master分支追踪origin/master分支

git clone 服务器地址
           
  1. git checkout -b develop origin/develop

           

   git clone -b v1.0.0 git@gitlab        (v1.0.0 是分支名)

 

在远程分支的基础上建立develop分支,并且让develop分支追踪origin/develop远程分支。

git branch --set-upstream branch-name origin/branch-name
           

branch-name分支追踪远程分支origin/branch-name            

git branch -u origin/serverfix
           

设置当前分支跟踪远程分支origin/serverfix

查看本地分支和远程分支的跟踪关系

git branch -vv
           

比如输入

  1. $ git branch -vv

  2. develop   08775f9 [origin/develop] develop

  3. feature_1 b41865d [origin/feature_1] feature_1

  4. * master    1399706 [my_github/master] init commit

           

develop分支跟踪origin/develop
feature_1分支跟踪origin/feature_1
master跟踪了my_github/master,且当前分支为master分支

那么假如我此时想要将master的改变推送到origin服务器的master分支上:

  1. $ git checkout master//切换到master分支

  2. ...

  3. $ git branch -u origin/master//将当前分支跟踪origin/master

  4. Branch 'master' set up to track remote branch 'master' from 'origin'.

           

之后就可以执行git add和git commit了
现在再查看一下本地和远程的分支关系:

  1. $ git branch -vv

  2. develop   08775f9 [origin/develop] develop

  3. feature_1 b41865d [origin/feature_1] feature_1

  4. * master    1399706 [origin/master] init commit

           

master已经跟踪了origin/master了

也可以:
 

git clone XXXXXX

git checkout --track origin/org_dev

查看跟踪关系:

 

fengdeMacBook-Pro:riki fengma$ git branch -vv

 

  master  b7a26015 [origin/master] 1

 

* org_dev 5c65d305 [origin/org_dev] modify user app name

文章知识点与官方知识档案匹配,可进一步学习相关知识


   


   


   


   

一、跟踪远程分支


   

如果用git push指令时,当前分支没有跟踪远程分支(没有和远程分支建立联系),那么就会git就会报错

There is no tracking information for the current branch.
Please specify which branch you want to merge with.

           

因为当前分支没有追踪远程指定的分支的话,当前分支指定的版本快照不知道要作为服务器哪一个分支的版本快照的子节点。简单来说就是:不知道要推送给哪一个分支。
下面演示如何建立这种本地和远程分支建立联系:

1.远端代码clone时会自动将创建好的本地master分支追踪到origin/master分支

2.在远程分支的基础上建立dev分支(本地dev分支存有所有远端最新文件内容),并且让本地的dev分支追踪到远端dev分支

git checkout -b dev origin/dev
            
           

3.如果想指定本地某个分支追踪到远端某个分支

git branch --set-upstream branch_1 origin/branch_2
            
           

将本地branch_1 分支合并到远端branch_2分支

文章知识点与官方知识档案匹配,可进一步学习相关知识

CS入门技能树Git入门Git简介18235 人正在系统学习中                


               

来自  https://blog.csdn.net/weixin_46153050/article/details/120076833                


               


               


               


Git追踪远程分支

本地的分支想要追踪对应远程的分支。

首先使用命令 git fetch获取远程的分支信息。

使用以下命令追踪远程分支。

git branch -u origin/master            

或者

git branch --set-upstream-to=origin/master            

文章知识点与官方知识档案匹配,可进一步学习相关知识

CS入门技能树Git入门Git简介18235 人正在系统学习中                

来自  https://blog.csdn.net/qq_38734155/article/details/121161282                


               


               

Git跟踪远程分支                

不同情况下的git 远程跟踪分支

1 远程没有分支,本地也没有分支

git check out -b test  //创建并切换到新分支
git push -u origin test  //推送到远程分支,并且跟踪远程分支
                       

2 远程已经存在分支,本地不存在对应分支:

git checkout --track origin/test
或者git checkout -b newtest origin/test(该命令可以设置不同的分支名)
                       

3 设置一个已有的本地分支跟踪一个刚刚拉取下来的远程分支:

git branch -u origin/test 或者 git branch --set-upstream-to=origin/test
                       

4 删除本地跟踪的远程分支

git branch -r -d origin/branchname
                       

5 删除git仓库上的远程分支

 git push origin --delete branchname
                   

来自  https://www.cnblogs.com/greyxy/p/13363554.html                


               


     


           


           


           


普通分类: