软件开发新手入门五大核心技能之版本控制工具(四)

简介: 教程来源 http://ltglu.cn/ 本章详解 Git 远程协作与标签管理:涵盖远程仓库配置、克隆、推送/拉取、fetch、分支跟踪及冲突解决;并介绍轻量与附注标签的创建、查看、推送与删除,助力团队高效协同与版本精准标记。

第五章 远程仓库 —— 多人协作的桥梁

5.1 远程仓库概念
远程仓库是托管在互联网或内网上的项目副本。常见的 Git 托管平台:GitHub、GitLab、Bitbucket、Gitee。

5.2 管理远程仓库

# 查看当前配置的远程仓库
git remote -v

# 添加远程仓库(origin 是默认名称)
git remote add origin https://github.com/user/repo.git

# 删除远程仓库
git remote remove origin

# 修改远程仓库的 URL
git remote set-url origin https://newurl.git

# 查看远程仓库详细信息
git remote show origin

# 重命名远程仓库
git remote rename origin upstream

5.3 克隆远程仓库

# HTTPS 方式(需要输入用户名密码或 token)
git clone https://github.com/username/repo.git

# SSH 方式(需要配置 SSH 密钥)
git clone git@github.com:username/repo.git

# 克隆到指定目录
git clone <url> my-folder

# 克隆特定分支
git clone -b develop <url>

# 浅克隆(只拉取最近的历史,节省时间)
git clone --depth 1 <url>

5.4 推送(Push)与拉取(Pull)

# 将本地当前分支推送到远程同名分支
git push origin master

# 完整语法
git push <remote> <local-branch>:<remote-branch>

# 示例:将本地 feature 推送到远程 feature-login
git push origin feature:feature-login

# 首次推送时设置上游分支(关联)
git push -u origin master   # -u 是 --set-upstream 的简写

# 之后只需 git push 即可

# 删除远程分支
git push origin --delete feature
# 或
git push origin :feature

# 推送所有分支
git push --all origin

# 推送标签
git push origin --tags

git pull 的实质: git fetch + git merge

# 拉取远程更新并合并到当前分支
git pull origin master

# 等价于
git fetch origin
git merge origin/master

# 使用变基方式拉取(保持线性历史)
git pull --rebase
# 设置全局默认
git config --global pull.rebase true

5.5 获取远程更新但不合并(Fetch)

# 获取远程所有分支的更新,但不自动合并
git fetch origin

# 获取后,查看差异
git diff master origin/master

# 将远程分支合并到本地
git merge origin/master

# 或者拉取远程分支到本地新分支
git checkout -b local-branch origin/remote-branch

5.6 远程分支的跟踪
本地分支和远程分支建立跟踪关系后,git pull 和 git push 可以省略参数。

# 查看所有跟踪分支
git branch -vv

# 建立跟踪
git branch -u origin/master master
# 或
git branch --set-upstream-to=origin/develop develop

# 创建分支时自动跟踪同名远程分支
git checkout -b feature origin/feature

5.7 解决远程冲突
当你 git push 时,如果远程分支有新的提交(别人先推送了),Git 会拒绝推送。需要先拉取合并。

# 拉取远程更新
git pull

# 如果有冲突,解决冲突后提交
# 然后推送
git push

强制推送(危险,会覆盖远程历史):

git push --force origin master
# 更安全的强制推送(确保不会覆盖别人的工作)
git push --force-with-lease origin master

第六章 标签 —— 标记重要节点

标签用于为提交打上永久书签,常用于版本发布(如 v1.0.0)。

6.1 轻量标签与附注标签
轻量标签:仅仅是指向特定提交的指针,类似于分支但不移动

附注标签:存储在 Git 数据库中,包含打标签者姓名、邮箱、日期、标签信息(可签名)

# 创建轻量标签
git tag v1.0

# 创建附注标签(推荐用于发布)
git tag -a v1.1 -m "Release version 1.1"

# 给历史提交打标签
git tag -a v0.9 -m "Beta release" 9fceb02

# 查看所有标签
git tag

# 按模式筛选
git tag -l "v1.*"

# 查看标签信息
git show v1.0

# 推送标签到远程(默认 git push 不推送标签)
git push origin v1.0

# 推送所有标签
git push origin --tags

# 删除本地标签
git tag -d v1.0

# 删除远程标签
git push origin --delete v1.0
# 或
git push origin :refs/tags/v1.0

# 基于标签创建新分支(修复旧版本 Bug)
git checkout -b fix-v1.0 v1.0

来源:
http://xbivx.cn/

目录
相关文章
|
10天前
|
测试技术 C++ Python
如何从零开发一个工业级的 SKILL
手把手教你搓个 Skill,亲测新手也能跑起来,实操党可以直接冲~
232 1
如何从零开发一个工业级的 SKILL
|
10天前
|
人工智能 数据挖掘 持续交付
为什么越来越多人开始关注OPC一人公司?
AI时代兴起OPC一人公司:单人+AI智能体+协作网络,实现轻量化闭环创业。它超越个体户与自由职业,强调系统化交付与能力升级。OPC中国聚焦人才生态建设,“智能体来了”专注能力培养,共推AI原生新范式。(239字)
|
10天前
|
人工智能 自然语言处理 安全
Vibe Coding 实战:别盲目跟风,先分清 vibe coding 适合什么场景
本文系统总结vibe coding实战经验:明确其适用场景(原型、小工具、标准化模块),剖析5步落地流程(场景判定→结构化提示词→目录初始化→分模块生成→自动化校验),指出四大常见误区,并推荐适配工具Trae。强调“场景匹配+规则前置”是提效关键,避免盲目套用。
1145 1
|
10天前
|
IDE 数据可视化 开发工具
软件开发新手入门五大核心技能之版本控制工具(五)
教程来源 http://xgmoi.cn/ 本章系统讲解 Git 高级用法:.gitignore 精准忽略文件;stash 临时保存未完成修改;alias 自定义高效命令;submodule 管理外部依赖;grep/blame/bisect 深度调试;涵盖集中式、功能分支、Git Flow 等主流协作工作流;详解撤销提交、amend、cherry-pick 等高频问题解决方案;并介绍 GUI 工具与 VS Code 集成技巧。
116 0
|
10天前
|
缓存 搜索推荐 网络协议
软件开发新手入门五大核心技能之逻辑思维与问题排查(一)
教程来源 http://qeext.cn/ 程序员的核心生产力不是写代码,而是解决问题。本书揭示:80%工作时间用于理解代码、排查Bug。以逻辑三要素(概念、命题、推理)为根基,结合真值表、德摩根定律、逆向思维与MECE原则,系统训练问题分析与定位能力,助你告别“面向搜索引擎编程”。
151 0
|
10天前
|
开发工具 git
软件开发新手入门五大核心技能之版本控制工具(三)
教程来源 http://wkmsa.cn/ Git分支是其“杀手级特性”,本质为轻量可移动指针,指向提交对象。支持快速创建、切换、合并与变基,实现并行开发、风险隔离与高效协作。含快进/三方合并、冲突解决及交互式历史重写等核心能力。
140 0
|
10天前
|
数据采集 人工智能 JSON
打通货源数据:1688 商品详情 API 赋能小龙虾 AI 店铺复盘
后端工程师复盘小龙虾AI智能体项目:基于1688官方商品详情API(1688.item.get),攻克签名鉴权、限流风控、价格/规格不统一、权限脱敏等难题,实现批发价、库存、资质等B2B核心数据的稳定采集、清洗与结构化建模,赋能AI智能选品、定价与自动铺货。
|
10天前
|
JSON Java 测试技术
软件开发新手入门五大核心技能之逻辑思维与问题排查(二)
教程来源 http://qfcrz.cn/ 本书第三、四章系统阐述问题排查方法论:提出“镇定复现→定位→隔离→假设→验证→修复→复盘”六阶段模型,并分类详解语法、运行时、逻辑、并发等10类错误的根因与实战对策,辅以代码示例和工具链,助力高效精准排障。
154 0
|
10天前
|
安全 程序员 开发工具
软件开发新手入门五大核心技能之版本控制工具(一)
教程来源 http://mykunlian.com/ 版本控制是程序员的“后悔药”与协同桥梁:记录每一次修改,支持随时回溯、安全实验、并行分支与多人协作。Git凭借分布式架构成为行业标准,本文带你从零掌握核心技能。
105 0
|
10天前
|
JavaScript 安全 Java
软件开发进阶技能之编程语言深度运用(一)
教程来源 http://xbivx.cn/ 本文聚焦编程进阶核心——从“会用”到“用好”的跃迁。通过深度解析类型系统(泛型、类型推断、ADT/模式匹配)、内存、并发、函数式等共性机制,结合Java/Python/TS/Go实战示例,助开发者写出更安全、高效、优雅的代码。
114 0