一图展示免费开源的分布式版本控制系统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 分支(合并分支默认在本地完成,合并后直接推送即可),用户拉取代码成功后就可以看见添加的部分。
相关推荐
User_芊芊君子5 小时前
【分布式训练】CANN SHMEM跨设备内存通信库:构建高效多机多卡训练的关键组件
分布式·深度学习·神经网络·wpf
酷酷的崽7985 小时前
CANN 开源生态解析(四):`cann-dist-train` —— 构建高效可扩展的分布式训练引擎
分布式·开源
惊讶的猫6 小时前
AMQP 与 RabbitMQ 四大模型
分布式·rabbitmq
灰子学技术6 小时前
istio从0到1:如何解决分布式配置同步问题
分布式·云原生·istio
春日见6 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
小马爱打代码7 小时前
ZooKeeper:入门实战
分布式·zookeeper·云原生
永远都不秃头的程序员(互关)7 小时前
CANN赋能AIGC分布式训练:硬核通信,加速大模型智能生成新纪元
分布式·aigc
杜子不疼.9 小时前
CANN集合通信库HCCL的大规模分布式训练通信优化与拓扑感知实践
分布式
ALex_zry21 小时前
Redis Cluster 分布式缓存架构设计与实践
redis·分布式·缓存
为什么不问问神奇的海螺呢丶1 天前
n9e categraf rabbitmq监控配置
分布式·rabbitmq·ruby