Git的使用教程

一、什么是git

1.1项目的版本管理

在日常项目开发过程中,项目还没开发到一个结点就会队当前项目进行备份,这个备份就是项目的一个版本;当我们继续开发下一个阶段时,再次进行备份,就生成新的版本,也就是说git可以作为多个版本的集合的版本库

在项目版本管理中,我们可以使用手动进行管理,但是以下这些问题:

  • 手动维护版本的更新日志,记录每个版本的变化
  • 需要手动查找历史版本,当历史版本比较多的时候,查找工作很繁琐
  • 当我们需要回退到某个版本时,只能手动通过IDE工具手动打开

1.2团队协同开发

1.3版本管理工具-git

git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何大小项目的版本管理

1.4核心功能:

  • 项目的版本管理
  • 团队协同开发

二、git下载及安装

2.1下载git(Git (git-scm.com)

安装git的时候只需要选定好需要安装的位置,然后狂点next即可。

2.2如何检查是否安装完毕?

win+r,在框中输入cmd,在命令窗口中输入git --version,能够出现版本号即表示安装完毕

三、git架构

工作空间:存放项目的目录。就是项目的根目录

版本仓库:存放项目历史版本的目录,就是执行这个git init指令之后,在工作空间文件夹生成的.git目录(存放的是历史版本)

暂存区:就是版本库用于临时存储更新的缓存空间

注意:通过add将工作空间的内容放到暂存区中,通过commit将暂存区中的内容放到仓库中,通过checkout将工作空间的内容还原到某一个版本。

四、git的基本使用

4.1创建版本库

4.2查看版本库状态(git status)

4.3将工作空间的修改add到暂存区中(git add XXX以及git add .的区别)

最后通过git commit -m '项目第一次提交' //通过命令可以将暂存区中的内容提交到版本库中,并且使用-m来指出版本说明

使用git log查看历史版本号,以及git login --online查看省略的版本号

由于我们将暂存区的内容提交到版本时,会记录当前版本的提交的用户信息,因此在版本提交之前需要下绑定用户信息

git config --global user.name 'who' //设置用户名

git config --global user.email 'haha@haha.com' //设置邮箱

通过每次增加一个新的文件可以发现,每次git status 的时候都会提示工作区有未提交的文件,我们可以使用git add .或者git add xxx来将我们新的文件增加上去,这时候每次新增的一个文件上传到仓库都会形成一个新的标记

通过git checkout+编号,可以在不同版本号之间进行来回切换

---------------------------------------以上都为本地仓库,都在同学a的电脑中其他人无法git checkout------------------------------------

为了实现协同开发,我们要进行远程仓库

五、远程仓库(远程版本库)

5.1什么是远程仓库?

5.2如何获取远程仓库?

使用gitee作为远程仓库:Gitee - 基于 Git 的代码托管和研发协作平台

在网址上面注册gitee即可,注册这里就不一一列举了

我的Mr.Feng仓库的地址为:https://gitee.com/feng-xiandong/mr.-feng.git

添加gitee用户

六、远程仓库操作

6.1准备工作

1.创建本地工作空间

创建各种文件夹,等文件

2.初始化本地仓库

git init

3.将工作空间搭建的项目结构add到暂存区中

git add .

4.将暂存区文件提交到版本库,生成第一个版本

git commit -m 'xxx'

5.为当前项目创建一个远程仓库,这里我使用之前创建好的远程仓库

https://gitee.com/feng-xiandong/mr.-feng.git

6.2本地仓库管理远程仓库

注:如果遇到t push fmwy master的情况,那是由于在工作空间虽然创建了新的文件,但是没有commit到本地仓库导致的

七、将远程仓库内容pull到本地仓库

八、解决协同开发的冲突问题

场景:两个开发者,一个是a,一个是b。同时执行了pull操作将远程仓库的内容pull到本地,此时a和b开发者的工作空间都有文件hello,b在hello文件中新增内容"bbb",而a在hello文件中新增了内容“aaa”,开发者b先进行提交。这时候开发者a又进行提交,这时候开发者a会失败。失败原因是,开发者a在pull之后,push之前有别的开发者提交过。这是开发者a如何操作?

这时候先执行pull将开发者b修改的内容拉取到开发者a的本地,但此时hello文件会变成将两个文件合在一起的文件,这时候对文件进行修改,选择是合并,还是删除开发者a或者开发者b的代码

这时候再次进行push提交

七、分支管理

什么是分支?

分支就是版本库中记录版本的位置(支线),不同分支之间不受影响,使用分支可以对项目起到保护作用。分支特性:当我们创建一个新的版本库的时候只有一个主分支,这个分支就是master。当我们把本地仓库push到远程仓库是就是git push 别名 master,就是本地仓库push到远程仓库的主分支(master分支)。

每个分支可以单独管理(常规分支,保护分支,只读分支)

分支是可以合并的

分支就是一条时间线,每次提交就在这条时间线上形成一个版本,

感谢大家的观看,部分图片截取而来,如有侵权请告知删除,交流qq:3329276483

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值