一、Git概述
1.为什么要使用git
大型项目Project_V1.0.0 :Project表示项目名。后面部分表示项目版本,前面的1表示大版本的更新,中间的0表示功能的更新,最后的0表示补丁、小型bug的更新。
当更新项目版本时,之前的版本也需要进行保存,不能删除,必须对历史版本进行备份,并且能随时对版本进行切换,避免回退到之前的版本时没有数据,为了之前数据更好的管理,必须使用git来进行管理。
对项目进行版本管理:我们开发的程序往往都是需要更新迭代的,迭代的同时需要保存以往的版本进行备份
就导致占用空间过大,无法进行团队协作开发,团队进行开发每个人每天上班都需要用U盘copy一份,下班都需要用U盘整合一份,所以就需要使用Git等版本控制系统进行版本的管理与协作开发
2.集中式版本管理系统
3.分布式版本管理系统
4.Git概念
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。分布式与集中式最大的区别在于开发者可以提交到本地,每个开发者通过克隆,在本机上拷贝一个完整的Git仓库。
5.基本命令
1.安装命令:sudo apt-get install git
2.查看版本 或 确定是否安装git:打开MobaXterm软件配置的虚拟机,输入git --version,查看git的版本号,可以看到版本号,表示安装了git。如下图所示。
3.查看帮助:git --help,查看git的使用方法。
如下图所示:
二、本地仓库操作
1.创建本地仓库
1)创建工作目录:mkdir git_test,
2)进入目录:cd git_test
3)初始化,变为本地仓库:git init,通过la命令可以查看到下面的.git目录
注意:如果不进入到git_test目录中,在执行完第一步之后,可以通过git init git_test一步进行初始化操作。
2.配置仓库信息
1)全局配置:意味着之后创建得每个仓库都是这个信息
命令:git config –global user.name “abc”
git config –global user.email “abc@qq.com”
2)局部配置:只对现在创建的仓库进行配置,没有报错表示执行成功
命令:git config user.name “abc”
git config user.email “abc@qq.com”
进入隐藏目录.git/,找到config,通过vim进入到config可以看到刚刚配置好的信息。
或者也可以通过cat config命令查看里面的基本信息。
3.提交
git_test包括工作区、暂存区、版本库
git仓库包括暂存区和版本库
vim test.py:创建一个python文件夹进行测试,双击C按键可进行插入,编写完程序后按Esc退出插入模式,输入 :wq保存退出,通过python test.py命令运行文件
1)查看状态
git status:查看状态
2)添加到暂存区
git add test.py:指定文件地址,工作区创建的文件就会存放到git仓库的暂存区中
git add . :存放所有文件
3)提交到本地仓库
提交到版本库中:git commit -m " "
-m后面带备注信息,就会将暂存区中的test.py文件挪到版本库中,并提供了备注信息,还会自动生成版本id
4)修改后重新提交
修改完test.py后要重新添加到版本库当中去,如果只修改完一半,存放到暂存区中
直接将工作区的文件添加到版本库当中**:git commit -am “ 修改”**
-a:添加到暂存区,然后立马提交到版本库中。后面可以继续加参数m表示备注信息
5)查看历史提交记录
git log:查看所有版本日志信息,但是查看不到删除后的信息
git reflog:查看简要信息,可以查看到删除了的版本信息
查看简要信息:
4.回退版本
命令:git reset
可以指退回到某一次提交的版本
1)git reset --soft:用于回退到某个版本,只对版本库进行操作,暂存区和工作区都不会改变
2)git reset --mixed:默认,版本库和暂存区回退到上一次的版本,工作区文件内容保持不变
3)git reset --hard:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前所有信息提交,git log查看不到信息记录,只能通过git reflog进行查看
版本的引用:
1)相对引用:
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD~0 当前版本
HEAD~1 上一个版本
HEAD~2 上上一个版本
2)指定引用:
直接在–hard后面写上版本的id(reflog查看出来的前缀)即可
HEAD后面跟一个^表示回退到上一个版本,一次类推 ^ ^就是回退两个版本
或者指定版本修改
三、分支
1.概念
在版本控制过程中,从开发主线上分出多个分支,同时推进多个任务,推进多个功能的开发,开发过程中一条分支失败,不会影响其他分支。
2.操作
1)列出分支:git branch
显示当前版本及备注:git branch -v
2)创建分支:git branch branchname
3)切换分支:git checkout branchname
在新的分支上对test.py文件进行修改并提交到仓库中去
此时运行test.py文件输出的是修改后的文件,切换回主分支还是输出的是修改前的数据。
4)合并分支:git merge
此时再运行test.py输出就是分支修改后的数据。
5)合并冲突:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,git无法替我们决定使用哪一个,必须人为决定新代码内容。
当两个分支修改的内容不一致时,合并会出现冲突,这时候vim进入到test.py文件进行手动修改需要保存的代码即可,再通过commit提交到版本库。但是原来的分支版本还是不变的,变的只是合并时重新修改后的文件。
程序中都标明出来了,head下面的是主分支的内容,hot-fix是分支内容,中间用===进行分割,如果都需要保留,则删除白色部分的代码即可
四、远程仓库操作
1.仓库管理系统
1)GitHub:最主流的线上仓库管理系统,国内访问速度慢,托管私有项目收费
2)Gitee:国内访问速度快,托管私有项目免费
2.创建仓库
1)打开浏览器,搜索gitee进入官网
2)注册登录
3)创建仓库,自行选择公开还是私有
4)选择语言、模板、分支模型,点击创建
5)创建完成后,点击管理,进行功能设置,可以在仓库成员管理邀请管理员和开发者
6)在个人设置主页里找到SSSH公钥,有生成公钥的讲解。将公钥复制到gitee里面,点击确定后,输入gitee账号密码。
输入第一句命令后一直回车,然后数据最后一段命令,复制生成的公钥即可。
复制快捷键:ctrl+ins
粘贴快捷键:shift+ins
密钥添加成功如下图所示:
添加完成之后,在MobaXterm里面输入命令:ssh -T git@gitee.com进行测试,显示如下图所示,表示远程线上仓库连接成功。
7)进行克隆,将线上仓库克隆到本地仓库。点击克隆/下载,选择SSH地址进行复制。
输入git clone +复制的地址进行克隆,ls查看此时就会出现一个drf6的文件夹。
查看绑定的远程仓库,一个本地仓库可以绑定多个远程仓库。
删除远程仓库连接
重新建立连接
克隆到本地仓库后就不需要再用git init命令进行初始化仓库了。文章来源:https://www.toymoban.com/news/detail-759263.html
8)配置仓库信息。
创建py文件等其他操作与本地仓库的操作一致。
提交到版本库中
可以查看到提交记录
9)将本地仓库代码推送到线上仓库中去。推送到dfr6仓库中的master分支中。提交完成后在gitee上刷新即可。
10)当线上仓库更新时,本地仓库拉取更新,不需要再git clone进行克隆。命令:git pull 连接仓库名 分支
文章来源地址https://www.toymoban.com/news/detail-759263.html
到了这里,关于03 Linux安装Git的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!