Git 是一个分布式版本控制系统 ,由 Linus Torvalds(Linux之父) 开发,用于高效管理代码变更。它允许多人在同一项目上协作,记录每次修改(提交),并支持分支管理 、版本回退 和代码合并。
目录
[5. 历史版本管理](#5. 历史版本管理)
[6. 撤销操作](#6. 撤销操作)
[1. GitHub](#1. GitHub)
[2. Gitee(码云)](#2. Gitee(码云))
核心特点
-
版本追踪:记录文件历史,可随时回退到任意版本。
-
分支管理:轻松创建、切换和合并分支,适合团队协作。
-
分布式存储:每个开发者拥有完整仓库,支持离线工作。
-
开源生态:与 GitHub、GitLab 等平台集成,便于代码托管和协作。
Git 广泛应用于软件开发,是程序员必备工具之一。
简单来讲,如果甲方一直在各种改需求,后面又要求我们使用第一版方案,只要我们之前创建了Git仓库并把第一版提交到仓库,我们就可以通过回溯历史版本来实现。
说句夸张的:可惜你不调冲突,见Git如井中蛙观天上月;你若重构历史,见Git如一粒蚍蜉见青天。
那么怎么使用Git仓库呢?
安装git仓库
使用教程
如果我们是第一使用git我们需要设置一下用户信息(提交代码时显示作者信息):
bash
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
1.创建仓库
初始化仓库
bash
git init
会在当前路径创建git仓库,默认是隐藏的,当你显示隐藏的项目时会看见一个.git的文件夹
克隆现有仓库
bash
git clone <仓库URL>
例如:
bash
git clone https://github.com/Ljf857/Encipherment.git
2.基本工作流程
查看状态
bash
git status
添加文件到暂存区
bash
git add <文件名> # 添加特定文件
git add . # 添加所有更改
提交更改
bash
git commit -m "提交信息"
3.分支管理
查看分支
bash
git branch # 查看本地分支
git branch -a # 查看所有分支(包括远程)
创建分支
bash
git branch <分支名>
git checkout -b <分支名> # 创建并切换到新分支
切换分支
bash
git checkout <分支名>
合并分支
bash
git merge <分支名> # 将指定分支合并到当前分支
4.远程操作
关联远程仓库
bash
git remote add <远程名> <仓库URL>
推送到远程仓库
bash
git push -u <远程名> <分支名>
从远程拉取更新
bash
git pull <远程名> <分支名>
获取远程更新(不自动合并)
bash
git fetch <远程名>
5. 历史版本管理
查看提交和修改历史
bash
git log
git log --oneline # 简洁格式
git log --graph # 图形化显示
git log --author="用户名" # 查看特定作者的提交
git log -p 文件名 # 查看文件的修改历史
git blame 文件名 # 查看谁修改了文件的哪一行
比较不同版本
bash
git diff # 查看未暂存的更改
git diff --cached # 查看已暂存的更改
git diff 提交1 提交2 # 比较两个特定提交之间的差异
回退到指定提交
bash
git reset --hard 提交哈希
将HEAD指针和工作目录都回退到指定提交(谨慎使用,会丢失未提交的修改)。
软回退(保留修改)
bash
git reset --soft 提交哈希
回退提交历史但保留工作目录和暂存区的修改。
6. 撤销操作
撤销工作区修改
bash
git checkout -- <文件名>
撤销暂存区的文件
bash
git reset HEAD <文件名>
修改最后一次提交
bash
git commit --amend
7.标签管理
创建标签
Git 标签(Tag)是用于标记特定时间点(通常是重要版本发布点)的引用,它在版本控制中扮演着重要角色。
bash
git tag <标签名>
git tag -a <标签名> -m "标签信息" # 带注释的标签
推送标签到远程
bash
git push <远程名> <标签名>
git push <远程名> --tags # 推送所有标签
当然了git还有更多的用法,你可以查看官方文档
使用案例
将我们写好的代码上传到github仓库
bash
# 进入项目目录
cd 项目目录
# 初始化 Git
git init
# 添加文件到暂存区
git add . # 添加所有文件
# 或指定文件
git add filename1 filename2
# 提交更改
git commit -m "Initial commit"
# 添加远程仓库
git remote add origin https://github.com/username/repo.git
# 首次推送(需指定上游分支)
git push -u origin main
# 如果默认分支是 master,替换 main 为 master
# 后续推送
git push
代码托管与协作开发平台
1. GitHub
-
全球最大 的代码托管平台,基于 Git 版本控制。
-
主要特点:
-
开源项目中心(如 Linux、React 等)。
-
Pull Request(PR) 协作,支持代码审查。
-
GitHub Actions(CI/CD 自动化)。
-
免费公有仓库,私有仓库需付费(个人免费有限额)。
-
-
适合:国际开源项目、开发者社区、企业级代码管理。
如果你想让别人查看你的公开github项目你可以将https://github.com/后面加上你的用户名发给对方,例如:[我的github](https://github.com/Ljf857 "我的github")
2. Gitee(码云)
-
中国本土的代码托管平台,对标 GitHub,由开源中国(OSChina)运营。
-
主要特点:
-
全中文界面 ,国内访问速度快。
-
免费私有仓库(适合国内小团队)。
-
Gitee Pipelines(CI/CD 自动化)。
-
符合中国数据合规要求。
-
-
适合:国内开发者、企业私有项目、高校教学。