Git(分布式版本控制系统)系统学习笔记【并利用腾讯云的CODING和Windows上的Git工具来实操】

目录

01-Git的概要介绍

1️⃣ Git 是什么?

Git 是一个 分布式版本控制系统(DVCS),用于跟踪代码的变更、协作开发和管理项目历史

  • Linus Torvalds(Linux 之父)在 2005 年开发,主要用于 代码管理
  • 适用于个人开发、团队协作、开源贡献等场景。
  • Git 的数据存储方式类似于 快照(snapshot),而不是文件的逐行变更记录,这让它速度快、占用空间少

2️⃣ Git 的特点

特点 解释
分布式 每个开发者都有完整的代码库副本,即使远程仓库宕机,本地仍然可用。
高效 Git 使用 快照 方式存储变更,速度快,占用空间少。
支持分支(Branching) 分支切换快速,适用于多人协作和并行开发。
强大的合并(Merge)功能 处理多人开发的代码合并,减少冲突。
代码回滚 任何时候都可以回到历史版本,避免误删文件或错误修改。

3️⃣ Git 的基本概念

📌 仓库(Repository)

  • 本地仓库:你的电脑上的 Git 项目目录,存储所有文件、提交历史等。
  • 远程仓库:托管在 GitHub、GitLab、Gitee、腾讯云的CODING等平台上,方便协作。

📌 提交(Commit)

  • 把代码的当前状态记录到 Git 历史中,每次提交都会生成一个唯一的 commit ID

📌 分支(Branch)

  • 主分支(main 或 master):通常是稳定版的代码。master 分支是早期的Git的 默认主分支,而main分支是Git 2.28+ 之后的默认主分支。
  • 开发分支(develop / feature):用于开发新功能,最终合并到主分支。

📌 合并(Merge)

  • 把不同分支的代码合并到一起,解决冲突并整合新功能。

📌 远程(Remote)

  • origin:默认的远程仓库,通常指向 GitHub / GitLab 上的仓库。后面有对origin的详细介绍哈。
  • upstream:通常指原始项目(开源贡献时常见)。

4️⃣ Git 的常用命令

👉 初始化 Git 仓库

git init  # 在当前目录初始化一个 Git 仓库

👉 克隆(Clone)远程仓库

git clone https://github.com/user/repo.git  # 复制远程仓库到本地

👉 添加文件到暂存区

git add <文件名>  # 添加指定文件到暂存区
git add .         # 添加所有文件

👉 提交代码

git commit -m "提交说明"  # 提交代码并附带描述

👉 查看状态

git status  # 查看当前仓库状态(哪些文件被修改、哪些在暂存区)

👉 查看历史记录

git log  # 查看提交历史
git log --oneline --graph  # 简洁模式,带分支图

👉 创建分支

git branch <分支名>  # 创建新分支
git checkout <分支名>  # 切换到指定分支(Git 2.23 以前)
git switch <分支名>  # 切换到指定分支(Git 2.23 及以上)

👉 合并分支

git merge <分支名>  # 把指定分支合并到当前分支

👉 远程操作

git remote -v  # 查看远程仓库
git push origin main  # 推送 main 分支到远程仓库
git pull origin main  # 拉取远程 main 分支最新代码

👉 撤销修改

git reset --hard HEAD~1  # 撤回上一次提交
git checkout -- <文件名>  # 撤销文件修改

5️⃣ Git 的工作流

🚀 本地开发

  1. 创建或克隆仓库

    git init
    git clone https://github.com/user/repo.git
    
  2. 编辑代码并提交

    git add .
    git commit -m "修改了功能A"
    
  3. 推送到远程

    git push origin main
    

🚀 团队协作

  1. 从远程拉取代码
    git pull origin main
    
  2. 创建新分支并开发
    git checkout -b feature-xxx
    
  3. 合并回主分支
    git checkout main
    git merge feature-xxx
    

🚀 开源贡献

  1. Fork 远程仓库
  2. Clone Fork 仓库
  3. 修改代码
  4. 提交 Pull Request(PR)

6️⃣ Git 与 GitHub 的关系

  • Git 是一个 版本控制工具,用于管理本地代码。
  • GitHub / GitLab / Gitee远程仓库托管平台,用于存储 Git 代码,方便团队协作。

7️⃣ 总结

✅ Git 是一个强大的 分布式版本控制系统,适用于个人开发、团队协作和开源贡献
✅ 通过 commit、branch、merge、push 等命令,可以高效管理代码。
✅ Git + GitHub 结合使用,可以更好地进行远程协作。

02-Git中的master分支与main分支

在 Git 版本控制系统中,mastermain 分支都指的是项目的主要分支,但它们有一些历史和默认行为上的区别。


1️⃣ master 分支:Git 早期默认主分支

  • master 是 Git 早期版本(Git 2.28 之前)的默认主分支,通常用于存储稳定的代码
  • 几乎所有 Git 项目都曾使用 master 作为主要分支,并且 GitHub、GitLab 这些平台最初也默认创建 master 作为主分支。
  • master 这个名字来源于软件开发中的“主版本”(master version)。
  • 由于历史原因,某些团队仍然沿用 master 作为默认主分支。

2️⃣ main 分支:Git 2.28+ 之后的新默认主分支

  • Git 2.28(2020 年发布)开始,Git 官方把默认主分支名称从 master 改为 main
  • 主要原因是 “master” 一词可能带有历史争议(涉及主从关系 master/slave)。
  • GitHub、GitLab 等平台也逐渐采用 main 作为默认主分支
  • 现在新创建的 Git 仓库默认主分支是 main,而不是 master

3️⃣ master vs. main 的区别

对比项 master main
默认分支 Git 2.28 之前的默认主分支 Git 2.28+ 之后的新默认主分支
历史背景 传统上使用,几乎所有项目都曾使用 现代 Git 推荐的默认名称
命名争议 有历史争议(与 master/slave 关系有关) 更中性、更现代的命名
使用情况 旧项目、老习惯仍然沿用 新建 Git 仓库默认使用

4️⃣ 如何将 master 改为 main

如果你的仓库仍然使用 master,但你想改为 main,可以执行以下操作:

✅ 1. 在本地重命名 mastermain

git branch -m master main  # 重命名本地 master 为 main<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值