Git 8 ,git 分支开发( 切换分支开发,并设置远程仓库默认分支 )

目录

        

        前言
        一、📍环境背景
        二、💻 完整流程
        三、📝 顺序总览
        四、🔹关系图例
        五、❗暂存警告
        六、☑️ 默认分支
        七、🟣更多操作


前言

在团队开发或多人协作的项目中,Git 是最常用的版本管理工具。一个常见场景是:你已经在本地克隆了项目,但需要在远程已有的其他分支(例如 v1)上进行开发。为了保证开发效率和版本安全,你需要清楚地知道:

  1. 如何在本地切换到远程分支进行开发

  2. 如何确保本地分支和远程分支正确关联

  3. 如何提交、推送以及同步远程最新代码

本文整理了从 克隆后的本地环境 → 拉取远程分支 → 设置跟踪 → 开发提交 → 推送同步 的完整流程,并附上命令说明及动态箭头流程图,帮助你快速掌握在本地开发新分支的标准操作方法。

一、📍环境背景

你已经在本地用 git clone 把项目克隆下来了,比如:

PS G:\0. Njust_code\work_codes\xz_service>

而远程仓库默认别名是 origin(Git 克隆时自动生成),对应的地址可能是 GitHub/Gitee 等。

且远程有多个分支,比如:

  • origin/master

  • origin/v1

你需要在本地新建并切换到 v1 分支进行开发,并确保推送代码时是推到远程 origin/v1


二、💻 完整流程

从拉取到开发到推送的完整流程

2.1 查看远程分支

查看本地分支

git branch

查看远程仓库分支

git branch -r

作用:列出远程所有分支,确认目标分支(比如 origin/v1)是否存在。

2.2 获取最新远程分支信息

git fetch origin

# 作用:同步远程分支信息到本地(不会修改你的代码)。

2.3 基于远程 v1 创建本地分支并切换过去

git checkout -b v1 origin/v1

# 作用:在本地新建一个 v1 分支,并基于远程 origin/v1 初始化代码。

2.4 如果本地 v1 没自动关联远程,手动设置关联

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

# 作用:让本地 v1 跟踪远程 origin/v1,这样 git pull/push 会默认同步到该分支。

2.5 确认分支跟踪关系

git branch -vv

# 作用:查看当前分支跟踪的远程分支,确保 v1 -> origin/v1。

2.6 开发并提交代码

git add .

# 作用:将修改加入暂存区。

2.7 提交备注

git commit -m "你的提交说明"

# 作用:生成一次提交记录。

2.8 推送到远程 v1

git push

# 作用:把本地 v1 的提交推送到远程 origin/v1(已关联的话可省略分支名)。

2.9 从远程拉取最新代码

git pull

# 作用:将远程 origin/v1 的最新更新合并到本地 v1。


三、📝 顺序总览

顺序总览(记住这个流程)

  1. git branch -r → 看远程分支

  2. git fetch origin → 更新分支信息

  3. git checkout -b v1 origin/v1 → 创建并切到 v1

  4. git branch --set-upstream-to=origin/v1 v1 → 设置跟踪关系

  5. git branch -vv → 确认跟踪

  6. git add .本地缓存

  7. git commit -m "说明" → 提交备注

  8. git pull → 同步

  9. git push → 推送

一般情况下,是先同步,然后推送,这里需要根据实际情况而定。


四、🔹关系图例

本地分支 ↔ 远程分支的示意关系图,结合你现在的环境(masterv1)说明你本地和远程是怎么对应的:

         远程仓库 (origin)
       ┌─────────────────┐
       │                 │
       │  master         │
       │  v1             │
       │                 │
       └─────────────────┘
             ↑   ↑
             |   |
             |   |  本地分支跟踪关系
             |   |
┌────────────┐ ┌────────────┐
│ 本地 master │ │ 本地 v1    │
│ (当前没改动)│ │ (当前开发) │
└────────────┘ └────────────┘
 

说明:

  1. 本地分支和远程分支的关系

    •  本地 master → 远程 origin/master(可通过 git push/pull 同步)

    • 本地 v1 → 远程 origin/v1(你通过 git branch --set-upstream-to=origin/v1 v1 设置跟踪关系) 

  2. 推送/拉取的逻辑

    • git push → 自动推送到对应的远程分支(只要已关联)

    • git pull → 自动拉取对应远程分支最新代码

  3. 当前开发分支

    • * v1 表示你现在在本地 v1 上开发

    • 所有提交默认和远程 origin/v1 同步


五、❗暂存警告

将所有文件添加到暂存区:

git add .

警告内容:

warning: in the working copy of 'package.json', LF will be replaced by CRLF the next time Git touches it

含义:Git 提示:你当前文件是 LF(可能从远程仓库来的),下次 Git 修改或检出这个文件时,会把 LF 转成 CRLF,因为你在 Windows 上。

  1. LF(Line Feed):Unix/Linux/Mac 系统的换行符

  2. CRLF(Carriage Return + Line Feed):Windows 系统的换行符

解决方式:

保持默认,不管这个警告。这个警告不会阻止你提交,只是提示 Git 可能会替换换行符。如果你的团队跨平台(Windows/Linux/Mac),建议统一换行符策略;如果只是 Windows 开发,可以直接忽略。

另外,在 git pull 拉取代码时,有时候可能会长时间拉取不下来,原因可能是之前添加的内容没有push,可以直接 push 进行提交(具体操作,需根据实际情况进行区分)。 


六、☑️ 默认分支

项目远程仓库设置默认分支

在大部分 Git 托管平台上操作:

  1. 打开你的仓库页面。

  2. 找到 Settings / 仓库设置 → Branches / 分支管理

  3. Default branch / 默认分支 中选择 v1,保存即可。

注意:改了默认分支后,新克隆的仓库会直接默认在 v1 上,而原来的 master 仍然存在,只是不是默认分支了。


七、🟣更多操作

请看,Git / GitHub / GitLab / Gitee 个人专栏

GitHub / GitLab / Giteehttps://blog.csdn.net/weixin_65793170/category_12208677.html

另外,在克隆公开仓库时可直接使用 git clone,无需认证;克隆私有仓库时,若用 HTTPS 协议,需用个人访问令牌(Token)代替密码。例如:

git clone https://zhijun_lee:你的令牌@gitee.com/njust_365/xz_service.git

私人令牌位置:头像 > 设置 > 私人令牌 > 修改/新建

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94954.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在mysql中执行创建数据库的脚本文件?

1、先准备好脚本文件,.sql扩展名的把脚本文件放在某个盘的根目录(也可以不是根目录,根目录的话路径会简单一些),这里我放在C盘的根目录下。脚本文件内容如下:/* SQLyog Community v13.1.1 (32 bit) MySQL - 5.7.26 : D…

《AI智脉速递》2025 年 8 月22 日 - 29 日

欧盟 AI 法案正式生效:禁止社会评分,规范生成式 AI 内容标注 8 月 21 日,欧盟《人工智能法案》全面实施,明确禁止社会评分、实时面部识别等高风险 AI 应用,要求生成式 AI 内容必须标注来源。该法案被视为全球最严格的 …

iOS 审核 4.3a【二进制加固】

我们应该知道,面对iOS 上架 遇到4.3a的问题或者制作马甲包.最基础的操作就是混淆代码尤其是我们专业做上架的,需要对各种语言的编译模式,产物,以及ipa构成都需要非常了解, 每种语言开发的App的编译产物不同,针对不同的编译产物做不同的处理方式有一些经验的开发者, 应该知道 目…

使用Python脚本执行Git命令

说明:本文介绍如何使用Python脚本在某个目录下执行Git命令 编码 直接上代码 import os import subprocessdef open_git_bash_and_run_command(folder_path, git_command):# 检查文件夹路径是否存在if not os.path.exists(folder_path):print(f"错误&#xff1a…

2025docker快速部署Nginx UI可视化管理平台

1、nginx-ui简介 Nginx UI 是一个开源项目,旨在为著名的 Web 服务器和反向代理软件 Nginx 提供一个基于网页的图形化用户界面(GUI)。它的核心目标是让 Nginx 的配置和管理变得可视化、简单化和自动化,从而降低其使用门槛&#xf…

数据防泄与最小可见:ABP 统一封装行级安全(RLS)+ 列级脱敏

数据防泄与最小可见:ABP 统一封装行级安全(RLS) 列级脱敏 TL;DR:把“谁能看到哪些行、字段可见到哪一位”下沉到数据库强制层(PostgreSQL:RLS 安全视图;SQL Server:RLS DDM&#x…

网络编程 04:TCP连接,客户端与服务器的区别,实现 TCP 聊天及文件上传,Tomcat 的简单使用

一、概述 记录时间 [2025-08-29] 前置文章: 网络编程 01:计算机网络概述,网络的作用,网络通信的要素,以及网络通信协议与分层模型 网络编程 02:IP 地址,IP 地址的作用、分类,通过 …

最小生成树——Kruskal

标题什么是生成树? 对于一张无向图,由nnn个顶点和n−1n-1n−1条边构成地联通子图,叫做这个无向图 生成树 最小生成树就是指边权之和最小的生成树 如何求最小生成树? Kruskal 介绍: 存图时只存每条边地起点、终点,…

ADFS 和 OAuth 的区别

ADFS 和 OAuth 的区别 ADFS(Active Directory Federation Services)和 OAuth 都是身份认证与授权领域的技术,但它们的设计目标、应用场景和实现方式有显著区别。以下从核心定义、技术特性、应用场景等方面详细对比: 核心定义与设计目标 技术 核心定义 设计目标 ADFS 微软…

神经网络参数量计算详解

1. 神经网络参数量计算基本原理 1.1 什么是神经网络参数 神经网络的参数主要包括: 权重(Weights):连接不同神经元之间的权重矩阵偏置(Bias):每个神经元的偏置项批归一化参数:BatchNo…

手写链路追踪

1. 什么是链路追踪 链路追踪是指在分布式系统中,将一次请求的处理过程进行记录并聚合展示的一种方法。目的是将一次分布式请求的调用情况集中在一处展示,如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等。这样就可以轻松了解…

从零开始的python学习——常量与变量

ʕ • ᴥ • ʔ づ♡ど 🎉 欢迎点赞支持🎉 个人主页:励志不掉头发的内向程序员; 专栏主页:python学习专栏; 文章目录 前言 一、常量和表达式 二、变量类型 2.1、什么是变量 2.2、变量语法 (1&a…

基于51单片机环境监测设计 光照 PM2.5粉尘 温湿度 2.4G无线通信

1 系统功能介绍 本设计是一套 基于51单片机的环境监测系统,能够实时采集环境光照、PM2.5、温湿度等参数,并通过 2.4G无线模块 NRF24L01 实现数据传输。系统具备本地显示与报警功能,可通过按键设置各类阈值和时间,方便用户进行环境…

【Flask】测试平台开发,产品管理实现添加功能-第五篇

概述在前面的几篇开发文章中,我们只是让数据在界面上进行了展示,但是没有添加按钮的功能,接下来我们需要开发一个添加的按钮,用户产品功能的创建和添加抽公共数据链接方法添加接口掌握post实现和请求数据处理前端掌握Button\Dilog…

循环高级(2)

6.练习3 打印九九乘法表7.练习3 制表符详解对齐不了原因:name补到8zhangsan本身就是8,补完就变成16解决办法:1.去掉zhangsan\t,这样前后都是82.name后面加2个\t加一个\t,name\t就是占8个,再加一个\t,就变成…

盒马生鲜 小程序 逆向分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向分析 部分python代码 params {&…

【Linux系统】线程控制

1. POSIX线程库 (pthreads)POSIX线程(通常称为pthreads)是IEEE制定的操作系统线程API标准。Linux系统通过glibc库实现了这个标准,提供了创建和管理线程的一系列函数。核心特性命名约定:绝大多数函数都以 pthread_ 开头&#xff0c…

【Spring Cloud Alibaba】前置知识

【Spring Cloud Alibaba】前置知识1. 微服务介绍1.1 系统架构的演变1.1.1 单体应用架构1.1.2 垂直应用架构1.1.3 分布式架构1.1.3.1 SOA架构1.1.4 微服务架构1. 微服务介绍 1.1 系统架构的演变 随着互联网的发展,网站应用的规模也在不断的扩大,进而导致…

2025互联网大厂Java面试1000道题目及参考答案

Java学到什么程度可以面试工作? 要达到能够面试Java开发工作的水平,需要掌握以下几个方面的知识和技能: 1. 基础扎实:熟悉Java语法、面向对象编程概念、异常处理、I/O流等基础知识。这是所有Java开发者必备的基础,也…

记录:HSD部署(未完成)

建数据库 相关文档:Confluence准备:CA文件和备份用的aws key。 CA文件:在namespace添加trust-injectionenabled的标签,会自动生成。 aws key:生成cnpg-backup-creds的secret。安装: 从git仓库获取values模…