Git 如何 clone 非 master 分支的代码
问题描述
我们每次使用命令
git clone git@gitlab.xxx.com:xxxxx.git
默认 clone 的是这个仓库的 master 分支。如果最新的代码不在 master 分支上,该如何拿到呢?如下图所示,最新的代码可能在daily/1.4.1
分支上,我们希望拿到这个分支上的代码。
解决方法
刚刚开周会的时候,自己洋洋得意的分享我的解决方案,但是……经过与团队成员的的讨论,自己的方法弱爆了,现在把更优雅的方法写一下。原来写的方法并不太适合用在这个场景里。 我之前写的方法在文章后面。
直接使用命令
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
一下就好了!
相关推荐
例如,将子模块的代码从 `master` 分支检出: ```bash git submodule foreach git checkout master ``` #### 三、分支切换 在进行子模块操作时,可能需要切换到不同的分支。可以通过结合 `git checkout` 和 `git ...
6. 推送更改:`git push origin master`将本地master分支的更改推送到远程仓库的master分支。 Git还支持分支管理,允许并行开发。`git branch`用于列出、创建或删除分支,`git checkout`用于切换或创建并切换到指定...
下面将详细讲解如何进行Git仓库迁移以及如何合并dev分支到master分支。 **一、Git仓库迁移** 1. **克隆仓库**:首先,你需要在新的服务器或本地目录上克隆原有的Git仓库。使用以下命令: ``` git clone <原仓库...
通过阅读和分析"git-master"中的源代码,我们可以深入了解Git的内部机制,比如它的对象模型(blob、tree、commit)、SHA1哈希计算、索引文件(.git/index)、分支管理实现等。这对于想要成为Git专家或者进行版本控制...
"git-master.zip"这个文件名暗示了我们可能在处理的是Git项目的主分支源码。主分支在Git中通常被称为"master",它是项目默认的起点和终点,包含了开发团队的主要工作成果。 描述中的"git-for-windows/git-master...
GitHack-master 是一个压缩包,很可能包含了一个名为 "GitHack" 的项目的源代码或工具集。这个项目可能专注于利用Git进行安全研究或者提供与Git相关的安全审计和防护工具。Git是世界上最流行的分布式版本控制系统,...
在新的文件夹初始化之后,先git clone 远程地址将... git add .====>git commit -m "xxdev分支代码"====》git push origin xxdev====》 git checkout master【切换回主分支】 切换分支时一定要先提交到仓库代码;
Git的基本操作包括初始化仓库(`git init`)、克隆仓库(`git clone`)、添加文件到暂存区(`git add`)、提交更改(`git commit`)、查看历史(`git log`)以及分支管理(`git branch`和`git merge`)等。...
在 Git 源代码管理中,分支管理是一项重要的任务。通常将一个项目的所有分支分为以下几条主线: 1. Master:顾名思义,Master 分支就是主分支的意思。Master 分支永远是 production-ready 的状态,即稳定可产品化...
在Git GUI中,选择“Clone Existing Repository”,然后在弹出的对话框中输入仓库的URL和本地存储位置。确保“Project”字段设置为你电脑上尚未存在的新目录,这样Git会创建一个新的项目目录用于存放代码。 2. **...
`.git` 目录是 Git 版本控制系统的核心部分,通常在项目根目录下,包含了项目的所有提交历史、分支信息、配置等。如果一个网站或应用不慎暴露了这个目录,攻击者可能能获取到敏感信息,如源代码、未发布的功能、API...
接着,可以在本地创建的仓库与远程仓库关联,通过`git remote add origin <远程仓库URL>`,然后使用`git push -u origin master`将本地的master分支内容推送到远程仓库的master分支。 此外,Git还有丰富的命令用于...
" Git 远程分支合并开发 Python 项目" 本文档旨在为已经了解 Git 基本操作的开发者提供使用 Git 远程分支管理 Python 项目的方法。远程分支是 Git 中的一种重要概念,通过它,可以实现多人合作开发项目。下面将详细...
设置用户信息 git config --global user.name “xxx” git config --global user.email “xxx@qq.com...git push origin master //master是默认分支名,这里可以根据自己需要进行修改 git pull //从库上更新代码到本地
`nvm master` 指的是获取NVM的最新master分支代码,通常用于获取最新的开发版本或者进行贡献。 **Git** 是一个分布式版本控制系统,由Linus Torvalds为Linux内核开发。它允许开发者跟踪对文件和项目所做的修改,...
默认情况下,`git clone`会将远程仓库的默认分支(通常是`master`或`main`)克隆到本地。 ```bash git clone -b my-branch https://example.com/repo.git ``` 2. `--depth <n>`:限制克隆的历史深度,以减少...
### Git代码操作详解 #### 一、Git简介与工作流程 **Git** 是一个分布式版本控制系统,用于跟踪计算机文件的更改,并协调多个用户之间的工作。它最初由Linus Torvalds于2005年创建,目的是作为一种改进的工具来...
一般我们写代码不会在master分支上面写,而是新建一个分支 git checkout -b test 3.在test分支上面进行代码修改,比如完成某一项功能的开发 4.修改完之后提交代码到test分支 git add . git commit -m your ...
1. git clone:将远程的 Master 分支代码克隆到本地仓库 2. git checkout:切出分支出来开发 3. git add:将文件加入库跟踪区 4. git commit:将库跟踪区改变的代码提交到本地代码库中 5. git push:将本地仓库中的...