Git简介

简介

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。采用了分布式版本库的做法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。

版本控制

版本控制是一种在软件开发过程中用于管理对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

版本控制最主要的功能就是追踪文件的变更,每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。

版本控制工具

1.集中化的版本控制系统比如SVN ,有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。

2.分布式版本控制工具(如Git)是一种允许开发者在本地存储和管理代码版本的系统,它不需要依赖中央服务器。这种工具可以在本地存储完整的版本历史,包括所有修改、合并等详细信息。开发者可以在本地进行提交和版本控制,并且可以随时与远程仓库进行同步。

Git工作机制图

  1. 创建仓库:在需要进行版本控制的项目目录中,使用git init命令初始化一个本地仓库。

  2. 添加文件到缓存区:使用git add命令将文件添加到暂存区。

  3. 提交文件到本地仓库:使用git commit命令将暂存区中的文件提交到本地仓库,并为这次提交添加一个描述信息。

  4. 远程仓库:在本地仓库中,使用git remote命令添加远程仓库的地址。可以使用git clone命令克隆远程仓库到本地。

  5. 推送与拉取:使用git push命令将本地仓库的修改推送到远程仓库,使用git pull命令将远程仓库的修改拉取到本地。

  6. 分支管理:使用git branch命令可以查看当前仓库中所有的分支,使用git checkout命令可以切换到指定的分支,使用git merge命令可以将不同分支的代码合并。

  7. 版本回退:使用git log命令可以查看仓库中所有的提交记录,使用git reset命令可以回退到指定的版本。

远程仓库

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程仓库。

远程仓库有两类:

GitHub(外网, 不稳定,经常无法访问) GitHub: Let’s build from here · GitHub

Gitee 码云(国内网站) Gitee - 基于 Git 的代码托管和研发协作平台

准备操作

设置用户名

用户名的作用是区分不同操作者身份。

用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次版本提交者的身份。

Git 首次安装必须设置一下用户签名,否则无法提交文件。

git config --global user.name 用户名

设置邮箱

git config --global user.email 邮箱[可以不存在]

初始化本地仓库

在将本地文件夹初始化之后才可以当作本地仓库使用

git init

本地仓库操作

提交到缓存区

将文件提交到缓存区之后才可以提交到本地仓库

git add 文件名

提交到本地仓库

文件提交到本地仓库之后,文件才算进入到本地仓库之中

git commit -m "描述信息" 文件名

查看本地仓库状态

查看本地仓库内的文件状态

git status

未添加到暂存区的文件为红色


添加到暂存区但未提交到本地仓库的文件为绿色

查看历史版本信息

显示简略信息:版本号前八位、提交时的描述信息

git reflog

查看详细历史版本信息

显示详细信息:版本号全部、提交人、提交人邮箱、提交时间

git log

切换历史版本

切换历史版本可以来换转换文件在提交到本地仓库的内容

git reset --hard 版本号前八位

分支

什么是分支

Git分支工作机制是Git版本控制系统中的重要概念,它允许多个开发人员在同一代码库中并行工作而不会相互干扰。

Git分支是代码库中的一个独立的版本,它可以用来开发新功能、修复bug或者进行实验性的改动,而不会影响主分支上的稳定代码。每个分支都有自己的提交历史,可以进行独立的版本控制。

在Git中,主分支通常是master分支,它包含着代码库的最新稳定版本。开发人员可以创建自己的分支来进行开发工作。

分支的好处

同时并行推进多个功能开发,提高开发效率。

各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

分支工作机制图

创建一个分支

创建分支时,Git会自动将原来的主分支命名为master

创建分支后会自动进入创建的分支

(master)表示现在所在的分支

git checkout -b 要创建分支的名字

查看当前属于哪个分支

会列出所有的分支,所在分支为绿色

git branch

修改分支

1.将文件传到缓存区

2.将文件上传至本地仓库

切换分支

git checkout 要切换的分支名

合并分支

合并分支时要先切换到主分支

git merge 要合并的分支名

分支合并冲突

合并分支时,如果两个分支在同一个位置的内容不一样会发生合并冲突

显示分支的位置变为(master|MERGIN)

解决分支合并冲突

1.打开文件进行手动修改

2.将文件上传至缓存区

3.将文件上传至本地仓库,上传至本地仓库时最后不要带文件名称

远程仓库操作

远程仓库别名

因为仓库地址不便于记忆,于是可以给仓库地址起一个别名当作仓库地址使用

git remote add 别名 远程仓库地址

将本地仓库推送到远程仓库

git push 远程仓库地址 所在分支

拉取远程仓库内容

git pull 远程仓库地址 分支

克隆远程仓库

git clone 远程仓库地址

Git团队协作机制图

团队内协作

跨团队协作

工作中正确使用Git

第1:写代码之前先把项目从远程仓库pull下来, 先把master主分支上的代码与远程仓库同步到最新版本;

第2:在本地创建并切换到工作分支,创建完成后会自动切换到该分支,此时master/work分支内容是相同;

第3:编写代码;

第4:编码完成后,add commit到work分支;

第5:将主分支从远程仓库pull最新的版本下来;

第6:将工作分支合并到主分支,如果有合并冲突,则需要手动解决冲突;

第7:此时所有在work分支上做的修改就会合并到主分支上,最后就可以push到远程仓库上了。

  • 43
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值