目录
- 01-Git的概要介绍
- 02-Git中的master分支与main分支
- 远程仓库 origin 是什么意思?
- 03-Git中的Fork的介绍
- 04-远程仓库的信息在本地是存储在哪里的?
- 05-Windows上本地Git客户端的安装
- 06-自己的仓库进行实操学习
- 07-如何查看同一文件不同版本之间的差别(即文件作了如何修改)
- 08-常见异常(错误)汇总
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 的工作流
🚀 本地开发
-
创建或克隆仓库:
git init git clone https://github.com/user/repo.git
-
编辑代码并提交
git add . git commit -m "修改了功能A"
-
推送到远程
git push origin main
🚀 团队协作
- 从远程拉取代码
git pull origin main
- 创建新分支并开发
git checkout -b feature-xxx
- 合并回主分支
git checkout main git merge feature-xxx
🚀 开源贡献
- Fork 远程仓库
- Clone Fork 仓库
- 修改代码
- 提交 Pull Request(PR)
6️⃣ Git 与 GitHub 的关系
- Git 是一个 版本控制工具,用于管理本地代码。
- GitHub / GitLab / Gitee 是 远程仓库托管平台,用于存储 Git 代码,方便团队协作。
7️⃣ 总结
✅ Git 是一个强大的 分布式版本控制系统,适用于个人开发、团队协作和开源贡献。
✅ 通过 commit、branch、merge、push 等命令,可以高效管理代码。
✅ Git + GitHub 结合使用,可以更好地进行远程协作。
02-Git中的master分支与main分支
在 Git 版本控制系统中,master
和 main
分支都指的是项目的主要分支,但它们有一些历史和默认行为上的区别。
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. 在本地重命名 master
为 main
git branch -m master main # 重命名本地 master 为 main<