`

Git 如何 clone 非 master 分支的代码

阅读更多

      

Git 如何 clone 非 master 分支的代码

 

问题描述

我们每次使用命令

git clone git@gitlab.xxx.com:xxxxx.git

默认 clone 的是这个仓库的 master 分支。如果最新的代码不在 master 分支上,该如何拿到呢?如下图所示,最新的代码可能在daily/1.4.1分支上,我们希望拿到这个分支上的代码。

7f07c8f6deef169ef6be5103bbd3e932f8676bb1.png

解决方法

刚刚开周会的时候,自己洋洋得意的分享我的解决方案,但是……经过与团队成员的的讨论,自己的方法弱爆了,现在把更优雅的方法写一下。原来写的方法并不太适合用在这个场景里。 我之前写的方法在文章后面。

直接使用命令

git branch -r #查看远程分支

git branch -a #查看所有分支

会显示

origin/HEAD -> origin/master
origin/daily/1.2.2
origin/daily/1.3.0
origin/daily/1.4.1
origin/develop
origin/feature/daily-1.0.0
origin/master

然后直接

git checkout origin/daily/1.4.1

就好了。。。

原来的解决方案

其实我原来写的这个方法更多的是:设置已有的本地分支跟踪一个刚刚拉取下来的远程分支,或者想要修改正在跟踪的上游分支。

我们在本地先建立一个分支,建议名称和远程的想要同步的分支名称一样。

git branch daily/1.4.1

在切换到这个本地分支

git checkout daily/1.4.1
# Switched to branch 'daily/1.4.1'

接下来就可以去建立上游分支的关联了,但是这个命令比较长,不好记,我们可以直接先pull一下,git 会提示我们相应的操作和命令。

git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> daily/1.4.1

我们看到最后一行,执行这个命令,即可完成与上游分支的关联。

git branch --set-upstream-to=origin/daily/1.4.1 daily/1.4.1
# Branch daily/1.4.1 set up to track remote branch daily/1.4.1 from origin.

然后再pull一下就好了!

 

 

分享到:
评论

相关推荐

    git代码clone,submodule

    例如,将子模块的代码从 `master` 分支检出: ```bash git submodule foreach git checkout master ``` #### 三、分支切换 在进行子模块操作时,可能需要切换到不同的分支。可以通过结合 `git checkout` 和 `git ...

    Git的客户端+服务端Gitblit+Git clone

    6. 推送更改:`git push origin master`将本地master分支的更改推送到远程仓库的master分支。 Git还支持分支管理,允许并行开发。`git branch`用于列出、创建或删除分支,`git checkout`用于切换或创建并切换到指定...

    git仓库迁移(所有分支)脚本,git合并dev分支到master分支脚本

    下面将详细讲解如何进行Git仓库迁移以及如何合并dev分支到master分支。 **一、Git仓库迁移** 1. **克隆仓库**:首先,你需要在新的服务器或本地目录上克隆原有的Git仓库。使用以下命令: ``` git clone &lt;原仓库...

    git-master

    通过阅读和分析"git-master"中的源代码,我们可以深入了解Git的内部机制,比如它的对象模型(blob、tree、commit)、SHA1哈希计算、索引文件(.git/index)、分支管理实现等。这对于想要成为Git专家或者进行版本控制...

    git-master.zip

    "git-master.zip"这个文件名暗示了我们可能在处理的是Git项目的主分支源码。主分支在Git中通常被称为"master",它是项目默认的起点和终点,包含了开发团队的主要工作成果。 描述中的"git-for-windows/git-master...

    GitHack-master.rar

    GitHack-master 是一个压缩包,很可能包含了一个名为 "GitHack" 的项目的源代码或工具集。这个项目可能专注于利用Git进行安全研究或者提供与Git相关的安全审计和防护工具。Git是世界上最流行的分布式版本控制系统,...

    Git工具的使用操作说明和常见问题的总结.docx

    在新的文件夹初始化之后,先git clone 远程地址将... git add .====&gt;git commit -m "xxdev分支代码"====》git push origin xxdev====》 git checkout master【切换回主分支】 切换分支时一定要先提交到仓库代码;

    完全学会GIT+GITHUB+GIT+SERVER的24堂课

    Git的基本操作包括初始化仓库(`git init`)、克隆仓库(`git clone`)、添加文件到暂存区(`git add`)、提交更改(`git commit`)、查看历史(`git log`)以及分支管理(`git branch`和`git merge`)等。...

    Git源代码管理规范1

    在 Git 源代码管理中,分支管理是一项重要的任务。通常将一个项目的所有分支分为以下几条主线: 1. Master:顾名思义,Master 分支就是主分支的意思。Master 分支永远是 production-ready 的状态,即稳定可产品化...

    Git GUI操作流程

    在Git GUI中,选择“Clone Existing Repository”,然后在弹出的对话框中输入仓库的URL和本地存储位置。确保“Project”字段设置为你电脑上尚未存在的新目录,这样Git会创建一个新的项目目录用于存放代码。 2. **...

    GitHack-master.zip

    `.git` 目录是 Git 版本控制系统的核心部分,通常在项目根目录下,包含了项目的所有提交历史、分支信息、配置等。如果一个网站或应用不慎暴露了这个目录,攻击者可能能获取到敏感信息,如源代码、未发布的功能、API...

    Git使用手册.pdf

    接着,可以在本地创建的仓库与远程仓库关联,通过`git remote add origin &lt;远程仓库URL&gt;`,然后使用`git push -u origin master`将本地的master分支内容推送到远程仓库的master分支。 此外,Git还有丰富的命令用于...

    利用Git远程分支合并开发python项目

    " Git 远程分支合并开发 Python 项目" 本文档旨在为已经了解 Git 基本操作的开发者提供使用 Git 远程分支管理 Python 项目的方法。远程分支是 Git 中的一种重要概念,通过它,可以实现多人合作开发项目。下面将详细...

    git代码上传流程文档

    设置用户信息 git config --global user.name “xxx” git config --global user.email “xxx@qq.com...git push origin master //master是默认分支名,这里可以根据自己需要进行修改 git pull //从库上更新代码到本地

    nvm master git resouece

    `nvm master` 指的是获取NVM的最新master分支代码,通常用于获取最新的开发版本或者进行贡献。 **Git** 是一个分布式版本控制系统,由Linus Torvalds为Linux内核开发。它允许开发者跟踪对文件和项目所做的修改,...

    git代码操作

    ### Git代码操作详解 #### 一、Git简介与工作流程 **Git** 是一个分布式版本控制系统,用于跟踪计算机文件的更改,并协调多个用户之间的工作。它最初由Linus Torvalds于2005年创建,目的是作为一种改进的工具来...

    git 使用及常用命令

    一般我们写代码不会在master分支上面写,而是新建一个分支 git checkout -b test 3.在test分支上面进行代码修改,比如完成某一项功能的开发 4.修改完之后提交代码到test分支 git add . git commit -m your ...

    IntelliJIDEA下使用Git.docx

    1. git clone:将远程的 Master 分支代码克隆到本地仓库 2. git checkout:切出分支出来开发 3. git add:将文件加入库跟踪区 4. git commit:将库跟踪区改变的代码提交到本地代码库中 5. git push:将本地仓库中的...

Global site tag (gtag.js) - Google Analytics