126-Linux_git安装及使用

一.git基本概念

1.什么是git

Git是一款免费、开源的分布式版本控制系统,广泛应用于软件开发、协作与维护中。它最初由Linus Torvalds于2005年创造,旨在为Linux内核开发提供高效、可靠、易用的版本控制方案。
git本地有三个工作域:工作区(working directory), 暂存区(stage/index), 资源库(repository)。如果再算上远程服务器上的git仓库(remote directory)就可以分为四个工作域。其关系如下:
在这里插入图片描述

  • Workspace: 工作区,就是你平时存放项目代码的地方
  • Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

2.git的特点

高效性:Git采用分布式版本控制系统,可以在本地进行版本控制和快速的提交、合并操作,极大地提高了开发效率。

可靠性:Git提供多种备份方案和错误恢复机制,即使遇到意外的中断或磁盘损坏等问题,也可以从备份中恢复数据。

灵活性:Git支持多种操作系统和平台,同时还允许用户自定义本地和远程仓库及代码管理方案。

安全性:Git支持多种加密和身份验证方式,可以保护代码和数据的安全性。

3.git工作流程

git工作的一般流程:

  1. 在工作目录中添加,修改文件
  2. 将需要进行版本管理的文件放入暂存区
  3. 将暂存区的文件提交到git仓库

4.文件的四种状态

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

  • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

  • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致,文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified

二.git的安装

1.在ubuntu上测试有没有安装

在这里插入图片描述

2.使用命令 sudo apt install git 进行安装

在这里插入图片描述

3.安装后查看版本,检查是否安装成功

在这里插入图片描述
在这里插入图片描述

三.git的使用

1.git常用命令

(1)创建一个目录

在这里插入图片描述

(2)使用git init 命令将其变为一个可以通过git管理的仓库

在这里插入图片描述
注意事项:
第一次使用git命令提交代码之前,需要先设置用户名及邮箱,之后就不需要了:
在这里插入图片描述
其中 “you@126.com” 及"youname" 应替换为你后面使用的真实邮箱和名字。

(3)使用git add filename 添加文件到暂存区

在这里插入图片描述

(4)使用git status 查看仓库状态

在这里插入图片描述

(5)使用 git commit -m “版本描述信息” 提交版本到仓库

在这里插入图片描述

(6)使用git log查看提交的历史记录

在这里插入图片描述

(7)使用git reflog 查看对仓库的操作日志

在这里插入图片描述

(8)使用git checkout filename 放弃对工作区代码的修改

在这里插入图片描述

(9)使用git reset HEAD filename 从暂存区撤销

在这里插入图片描述

(10)使用git rm filename 删除一个文件, 此时提交到暂存区,需要commit后才在版本库中删除

在这里插入图片描述

2.gitt分支的操作命令

在进行多个并行作业时,通常会用到分支。

(1)查看分支: git branch

在这里插入图片描述

(2)创建分支: git branch 分支名

在这里插入图片描述

(3)切换分支: git checkout 分支名

![(https://img-blog.csdnimg.cn/2a84f0cb74a246fe917c1364322155a9.png)

(4)创建并切换到该分支: git checkout -b 分支名

在这里插入图片描述

(5)删除分支,不能删除当前所处分支,切换到其它分支再删除: git branch -d 分支名

在这里插入图片描述

(6)合并某个分支到当前分支: git merge 分支名

合并时可能产生冲突,需要解决冲突。
有时需要禁止快速合并,可执行:git merge --no-ff -m ‘描述’ 分支名
在这里插入图片描述
在这里插入图片描述

(7)历史记录一行显示 : git log --pretty=oneline

在这里插入图片描述

(8)以图表形式显示分支:git log --graph

在这里插入图片描述
在这里插入图片描述

(9)保护现场 git stash

当前工作区有代码修改了,是不能切换到其他分支,可以先保存现场,再切换
在这里插入图片描述

(10)列出所有保存的现场信息 git stash list

在这里插入图片描述

3.远程仓库操作

(1)生成通信密钥:ssh-keygen -t rsa -C “su@126.com” ,生成的公钥在/home/stu/.ssh/下,如下图

在这里插入图片描述
(2)测试与github或者gitee(码云)有没有连通
测试github 的命令 :ssh -T git@github.com
在这里插入图片描述
测试gitee 也就是码云的命令 :
在这里插入图片描述
(3)克隆项目:git clone 项目地址
(4) 提交分支到远程仓库:git push origin 分支名
(5) 提交分支到远程仓库,并跟踪分支 :git push -u origin 分支名
(6) 拉取远程服务器上的分支更新到本地 :git pull origin 分支名

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值