【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(九)-git(1)

时间:2024-07-05 11:32:00

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。

文章目录

前言

一、git是什么

二、git基本概念

三、git基本命令

总结


前言

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。


提示:以下是本篇文章正文内容,下面案例可供参考

一、git是什么

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。

在开发中,Git已成为现在主流的一种代码托管技术(版本管理工具),基本上大多数的公司都在使用Git进行协同开发。很多代码托管平台也是基于Git来实现的。

Git特点
优点:

  • 适合分布式开发,强调个体;
  • 公共服务器压力和数据量都不会太大;
  • 速度快、灵活;
  • 任意两个开发者之间可以很容易的解决冲突;
  • 离线工作。

缺点:

  • 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息;
  • 权限控制不友好;如果需要对开发者限制各种权限的建议使用SVN。
  • Git与SVN的区别
  • SVN是集中式版本控制系统,而Git是分布式版本控制系统,Git与SVN的区别可参考Git与SVN的区别。。

二、git基本概念

  • 工作区:仓库的目录。工作区是独立于各个分支的。
  • 暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。
  • 版本库:存放所有已经提交到本地仓库的代码版本
  • 版本结构:树结构,树中每个节点代表一个代码版本。

三、git基本命令

 设置全局用户名,信息记录在~/.gitconfig文件中

git config --global user.name xxx

 设置全局邮箱地址,信息记录在~/.gitconfig文件中

git config --global user.email xxx@xxx.com

 将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中

git init


 查看仓库状态

git status

当我们在当前目录下创建一个新文件,查看仓库状态会提示我们新创建的文件没有添加到仓库的暂存区中!!


 将XX文件添加到暂存区

git add XX

将所有待加入暂存区的文件加入暂存区

git add .


 将暂存区的内容提交到当前分支

git commit -m "给自己看的备注信息"


 当文件被修改后

再将它添加到暂存区中 


 查看XX文件相对于暂存区修改了哪些内容

git diff XX

(注:如果修改后的文件已被添加到暂存区就查看不出来修改的区别!!)


将文件从仓库索引目录中删掉:

git rm --cached XX


查看当前分支的所有版本

git log

 

一行展示 :

git log --pretty=oneline


将代码库回滚到上一个版本:

git reset --hard HEAD^ 或 git reset --hard HEAD~
  •  往上回滚两次,以此类推:
git reset --hard HEAD^^
  • 往上回滚100个版本:
git reset --hard HEAD~100
  •  回滚到某一特定版本
git reset --hard 版本号


查看HEAD指针的移动历史(包括被回滚的版本)

git reflog


 将XX文件尚未加入暂存区的修改全部撤销

git checkout — XX或git restore XX

 

 

 


作用是将暂存区的文件从暂存区撤出,但不会更改文件

git restore --staged xxx

 当我们新创建一个文件:

添加到暂存区

 

修改另一个read.txt文件后,存入暂存区,并提交。


 我们也可以修改两个文件,只添加一个文件并提交。


 我们新创建两个文件a.txt和b.txt,然后都将它们添加到暂存区中。

并 提交到版本库。


当我们把a.txt和b.txt两个文件删除后

 我们也可以把删除a.txt和b.txt这个操作也添加进暂存区,并提交到版本库进行持久化

 此时,我们可以通过git restore --staged xxx将从工作区存入暂存区的操作撤销,然后再通过git restore xxx将xxx在工作区进行的操作进行撤销。

此时,我们删除的a.txt文件就又被我们找回来了。


总结

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。