一图展示免费开源的分布式版本控制系统Git

文章目录


前言

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

一、安装Git

Windows操作系统下,可以通过下载安装包直接安装到电脑里面。完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。

下载链接:https://git-scm.com/

Linux安装命令:

powershell 复制代码
sudo apt-get install git

二、Git配置

Git提供了一个叫做git config的工具,专门用来配置或读取相应的工作环境变量。

在 Windows系统上,Git会找寻用户主目录下的.gitconfig文件。配置个人的用户名称和电子邮件地址:

powershell 复制代码
# 配置用户名
git config --global user.name "sdl1314"	
# 配置邮箱
git config --global user.email "sdl1314@163.com"

在Linux初始化本地仓库:

powershell 复制代码
mkdir desktop/test
git init # 初始化本地仓库
git config user.name 'sdl1314'
git config user.email 'sdl1314@163.com'

三、git命令

Git单人操作

powershell 复制代码
git status # 查看文件状态,红色:工作区、绿色:暂存区
powershell 复制代码
# 工作区提交到暂存区
git add .	# 文件比较多全部提交
git add sdl.py	# 提交指定文件
powershell 复制代码
# 暂存区提交到仓库区
git commit -m "描述信息"
powershell 复制代码
# 查看提交的历史记录
git log
git reflog
powershell 复制代码
# 回退版本
git reset --hard 版本
	'''
	HEAD 表示当前最新版本
	HEAD^表示当前最新版本的前一个版本
	HEAD^^ 表示当前最新版本的前两个版本,以此类推...
	HEAD~1 表示当前最新版本的前一个版本
	HEAD~10表示当前最新版本的前10个版本,以此类推...
	'''
	
# 通过每个版本的版本号回退到指定版本
git reset --hard 版本号
powershell 复制代码
# 工作区代码撤销
git checkout 文件名

# 暂存区代码撤销
	# 第一步:将暂存区代码撤销到工作区
	git reset HEAD  文件名
	# 第二步:撤销工作区代码
	git checkout 文件名

标签

powershell 复制代码
git tag -a 标签名 -m '标签描述'
git push origin 标签名

# 删除本地标签
git tag -d 标签名
# 删除远程仓库标签
git push origin --delete tag 标签名

分支

作用: 主分支: 生产环境(维护线上环境)

子分支: 开发环境(研究开发新的功能, 攻关难题, 解决线上bug等等)

powershell 复制代码
# 查看当前分支
git branch
# 创建并切换到 dev 分支
git checkout -b dev
# 将分支推送到远程
git push -u origin dev
# 在 dev 分支编辑代码
add commit push
# dev 分支合并到 master 分支
注意:只有当 dev 分支合并到 master 分支成功,才能获取到修改的内容
# 先切换到 master 分支,dev 分支合并到 master 分支(合并分支默认在本地完成,合并后直接推送即可),用户拉取代码成功后就可以看见添加的部分。
相关推荐
数翊科技1 小时前
深度解析 HexaDB分布式 DDL 的全局一致性
分布式
cos4 小时前
Fork 主题如何更新?基于 Ink 构建主题更新 CLI 工具
前端·javascript·git
Tony Bai4 小时前
【分布式系统】03 复制(上):“权威中心”的秩序 —— 主从架构、一致性与权衡
大数据·数据库·分布式·架构
OpenMiniServer5 小时前
当 AI 成为 Git 里的一个“人”
人工智能·git
Carry3456 小时前
不清楚的 .gitignore
前端·git
txinyu的博客11 小时前
HTTP服务实现用户级窗口限流
开发语言·c++·分布式·网络协议·http
独自破碎E12 小时前
RabbitMQ中的Prefetch参数
分布式·rabbitmq
深蓝电商API12 小时前
Scrapy+Rredis实现分布式爬虫入门与优化
分布式·爬虫·scrapy
回家路上绕了弯14 小时前
定期归档历史数据实战指南:从方案设计到落地优化
分布式·后端
番茄灭世神14 小时前
Git入门使用学习
git·gitee·软件工程·计算机专业入门