一图展示免费开源的分布式版本控制系统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 分支(合并分支默认在本地完成,合并后直接推送即可),用户拉取代码成功后就可以看见添加的部分。
相关推荐
binishuaio1 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。2 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
yx9o4 小时前
Kafka 源码 KRaft 模式本地运行
分布式·kafka
stewie64 小时前
在IDEA中使用Git
java·git
Gemini19954 小时前
分布式和微服务的区别
分布式·微服务·架构
G丶AEOM4 小时前
分布式——BASE理论
java·分布式·八股
P.H. Infinity10 小时前
【RabbitMQ】03-交换机
分布式·rabbitmq
龙哥·三年风水12 小时前
群控系统服务端开发模式-应用开发-个人资料
分布式·php·群控系统
晓理紫12 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿14 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git