一图展示免费开源的分布式版本控制系统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 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
Doro再努力2 小时前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
難釋懷3 小时前
分布式锁的原子性问题
分布式
摇滚侠4 小时前
MAC IDEA GIT 提交区显示了几个不存在的目录
git·idea
ai_xiaogui4 小时前
【开源前瞻】从“咸鱼”到“超级个体”:谈谈 Panelai 分布式子服务器管理系统的设计架构与 UI 演进
服务器·分布式·架构·分布式架构·panelai·开源面板·ai工具开发
凯子坚持 c4 小时前
如何基于 CANN 原生能力,构建一个支持 QoS 感知的 LLM 推理调度器
分布式
飞升不如收破烂~5 小时前
Redis 分布式锁+接口幂等性使用+当下流行的限流方案「落地实操」+用户连续点击两下按钮的解决方案自用总结
数据库·redis·分布式
无心水5 小时前
分布式定时任务与SELECT FOR UPDATE:从致命陷阱到优雅解决方案(实战案例+架构演进)
服务器·人工智能·分布式·后端·spring·架构·wpf
城东5 小时前
Git使用[远程仓库远端的head比本地和提交的head旧,其他人拉不到最新代码]
git·head·远程仓库远端·比本地和提交的head旧·其他人拉不到最新代码