GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件

这篇具有很好参考价值的文章主要介绍了GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件

前言

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

我们这里就不多介绍这里的GIT了,百度百科和维基百科上都有很多介绍,我们这里就不再介绍,直接来演示~~

下面演示的均是Centos7.6系统,

  • 我们先来检测以下git有没有安装
git --version
  • 如果提示的是这样的就说明没有安装

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

一、安装git

  • 执行以下命令,安装git
yum instal -y git
  • 如果执行失败的话就先更新一下系统
yum update -y
  • 然后再检测是否安装成功~

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git


二、git基本操作

2.1 初始化git

  • 安装好git后,我们就要创建一个本地仓库,就是要初始化一下

创建文件夹

mkdir gitcode

进入文件夹

cd gitcode/

初始化git

git init

查看是否初始化成功

ls -al

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 查看隐藏文件git目录下,有什么文件~~

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 我们需要设置邮箱和用户名【这里是局部生效的配置用户名和邮箱】

2.2 配置局部生效

配置用户名

git config user.name "shilin"

配置邮箱

git config user.email "intshanxi@163.com"

查看配置

git config -l

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git


那我想要删除刚刚配置的,就可以执行以下命令

删除用户名

git config --unset user.name

删除邮箱

git config --unset user.email

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

2.3 配置全局生效

  • 将配置项生效所有仓库配置项

配置用户名

git config --global user.name "intshanxi"

配置邮箱

git config --global user.email "intshanxi@163.com"

查看刚刚配置的

git config -l

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 那我想要删除刚刚配置的,就可以执行以下命令~

删除用户名

git config --global --unset user.name

删除邮箱

git config --global --unset user.email
  • 接下来我们就往这个仓库里生成一个文件
touch ReadMe
  • 在目前情况下,git是不能管理这个文件的~~

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git


  • 我现在往git里添加了一点东西

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git


三、认识工作区、暂存区、版本库

3.1 添加文件场景一

  • 我们就来看第一个步骤
git add 文件名

或者只写一个.,这个意思就是全部添加

  • 我们就来看第二个步骤
git commit -m '要描述的细节'

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 创建多个文件
touch file1 file2 file3
  • 我们还可以用.来一键添加

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

3.2 查看添加的文件

  • 还可以查看最近提交的日志
git log

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 我们还可以再打印的简单一点,方便观察
git log --pretty=oneline

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 查看git日志后,commit后面的一串字符是(安全哈希算法)加密过的文件

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 我们可以通过命令来查看这个具体提交记录
git cat-file -p fc9176efe2397e38411e1ec44b9f58be6e0cc99f

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 在其中有一行tree 0e6b1780b73cd9220ec5073dc64b42f7ad4bd945
  • 然后再查看一下这个
git cat-file -p 0e6b1780b73cd9220ec5073dc64b42f7ad4bd945
  • 继续查看文件内容
git cat-file -p 8d0e41234f24b6da002d962a26c2495ea16a425f

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

3.3 添加文件场景二

git add file4
touch file5
git commit -m 'add file4'
  • 这里虽然添加了两个文件,但是只有file4添加到了暂存区,提交修改的时候只有file4发生了变化,而file5没有发生变化

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

四、修改文件

  • git其实管理的是修改,而不是文件

  • 我们先修改了ReadMe

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

4.1 查看工作区的状态

  • 我们查看当前工作区的状态
git status

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 那我们想查看修改了哪些内容呢?
git diff 文件名

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 这个时候我们再提交一下
git add ReadMe
  • 查看状态
git status

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 这个时候就再提交
git commit -m 'add modify ReadMe file'
  • 再查看
git status

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

五、版本回退

  • 刚开始文件里的内容只有一行,后来添加了两行

  • 对于这个文件来说是有两个版本的

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 这里的回退命令是git reset可以指定某一次提交的版本

  • git reset 命令语法格式为: git reset [--soft | --mixed | --hard] [HEAD]

    • –mixed 为默认选项,使⽤时可以不用带该参数。该参数将暂存区的内容退回为指定提交版本内容,工作区文件保持不变。
    • –soft 参数对于工作区和暂存区的内容都不变,只是将版本库回退到某个指定版本。
    • –hard 参数将暂存区与工作区都退回到指定版本。切记工作区有未提交的代码时不要用这个命令,因为工作区会回滚,你没有提交的代码就再也找不回了,所以使用该参数前一定要慎重。
  • HEAD 说明:
    ◦ 可直接写成 commit id,表示指定退回的版本
    ◦ HEAD 表示当前版本
    ◦ HEAD^ 上一个版本
    ◦ HEAD^^ 上上一个版本
    ◦ 以此类推…

  • 可以使用 ~数字表示:
    ◦ HEAD~0 表示当前版本
    ◦ HEAD~1 上一个版本
    ◦ HEAD^2 上上一个版本
    ◦ 以此类推…


  • 查看日志
git log --pretty=oneline
  • 回退到最初版本
git reset --hard eea6e0091277b0e3de6739d0cede91333284b6e7

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 可以看到一旦回到这一次,我们后面创建的文件都会被删除
  • 我们再来看文件的内容
cat ReadMe

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 查看日志
git log --pretty=oneline

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 那有人说我又后悔了怎么办?
  • 想要再回退回去
  • 我们刚刚打印过这一个最新的版本我们就回退到这个版本
git reset --hard b842e9f3f8a267b0957389abae0dbc159d12fd43

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 我们再来看一下当前目录下
  • 文件回来了,文件里的内容也会来了

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 再来打印这个日志
  • 这个log也回来了
git log --pretty=oneline

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 那我回退了最初的版本后,找不到那个字符串了怎么办?
  • 我们还有一种方法

  • 查看
git reflog

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 回退版本
git reset --hard b842e9f

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 这样就可以回退回去了

  • 那么这里的版本回退为什么会这么快呢?
  • 是因为有一个HEAD指针

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

六、撤销修改

  • 如果我们在我们的工作区写了很长时间代码,越写越写不下去,觉得自己写的实在是垃圾,想恢复到上一个版本。

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

6.1 情况一:对于工作区的代码,还没有add

  • 我们先对ReadMe进行修改

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 我们想撤销我们的代码,我们可以重新再次编辑删除掉那一行代码,就可以了

  • 那写了很多呢?想一次性撤销,那怎么办呢?接下来我们来看~~

  • 查看修改了哪些内容

git diff ReadMe

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 想要一次撤销,我们执行以下命令
git checkout -- ReadMe
  • 这里的--就是回退到最近一次add或者commit的操作

  • 我们再次打印,新增的那一行就没有了

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

6.2 情况二:已经add ,但没有commit

  • add 后还是保存到了暂存区呢?怎么撤销呢?

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 让我们来回忆一下学过的git reset回退命令,该命令如果使用 --mixed 参数,可以将暂存区的内容退回为指定的版本内容,但工作区文件保持不变。那我们就可以回退下暂存区的内容了!!!
git reset HEAD ReadMe
  • HEAD代表当前版本
  • HEAD^代表上一个版本
  • HEAD^^代表上一个版本

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

  • 这个时候再进行情况一的回退
git checkout -- ReadMe

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

6.3 情况三:已经add ,并且也commit 了

  • 我们可以git reset --hard HEAD^ 回退到上一个版本!不过,这是有条件的,就是你还没有把自己的本地版本库推送到远程。还记得Git是分布式版本控制系统吗?我们后面章节会讲到远程版本库,一旦你推送到远程版本库,你就真的惨了

  • 我们先修改文件,然后添加文件【add】【commit】

  • 然后修改

git reset --hard HEAD^

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git

七、删除文件

  • 删除文件
git rm file
git commit -m '记录'

GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件,GIT操作,git


我们这里的git基础操作就到这里了,我们后面还有一些进阶操作~~
感谢大家的收看,我们共同进步!!!文章来源地址https://www.toymoban.com/news/detail-751562.html

到了这里,关于GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git初始化

    方法: 修改全局文件(用户主目录下.gitconfig) 修改系统文件(如/etc/gitconfig) 用户姓名和邮件地址 修改用户名和邮件地址 清空用户姓名和邮件地址 查看用户名和邮件地址 git config -e 对应于 版本库级别的配置文件(workplace/demo/.git/config) git config -e --global 对应于 全局配置文

    2024年02月14日
    浏览(43)
  • git初始化项目上传

    步骤1:创建远程仓库 平台上建好项目,并copy远程仓库的URL 步骤2:初始化本地Git 首先,进入您本地的项目根目录下,然后,打开命令行界面,导航到该目录并执行以下命令: 执行完之后我们可以看到根目录下会多出一个.git文件。 如果是java项目可以在这个项目根目录下加个

    2024年02月10日
    浏览(58)
  • MFC为资源对话框添加消息处理函数和初始化控件

    现在我VC6新建了一个对话框工程;又在资源添加了一个新的对话框,并为新的对话框添加了名为CTestDlg的类; 在主对话框的cpp文件包含#include \\\"TestDlg.h\\\"; 在主对话框的cpp文件的OnInitDialog()成员函数中,添加2句,     CTestDlg tdlg;     tdlg.DoModal(); 就可以弹出这个对话框; 在新

    2024年01月18日
    浏览(48)
  • 初始化git仓库(已存在项目)

    1.创建git仓库,获取仓库git地址 2.进入已存在项目根目录,打开git bash,执行命令,初始化仓库 3.添加文件 4.配置gitignore文件,排除部分文件 5.提交到本地 6.配置远端仓库 7.push到远程仓库某分支,完成代码上传

    2024年02月11日
    浏览(56)
  • 商品首页(sass+git本地初始化)

    目录 安装sass/sass-loader 首页(vue-setup) 使用git本地提交 同步远程git库 安装sass/sass-loader 首页(vue-setup) 使用git本地提交 同步远程git库 https://gitee.com/cloud2023_1/shop-wx.git

    2024年02月13日
    浏览(51)
  • Git初始化连接Gitlab远程仓库

    ​ 新环境下git配置,除了初始化和name、email设置,还需在远程仓库Gitlab中配置个人ssh key,才能clone远程仓库代码到本地,完成关联。 此时,.ssh目录下会有一个公钥(id_rsa.pub)一个私钥(id_rsa),将公钥的内容放到GitHub/GitLab等用户设置的SSH keys中即可。 之后本地就关联了远程仓库

    2024年02月11日
    浏览(58)
  • Git的安装与初始化配置教程

    Git是一个版本控制系统。版本控制系统可以使多个终端同时在线对一个文件或者数据进行更改而不用每次更改时重复创建多余的副本,或者造成不必要的存储空间浪费。 版本控制系统有两种类型: 一种是集中式版本控制系统: 比如SVN、CVS等等。集中式版本控制系统中,所有

    2024年03月16日
    浏览(46)
  • 【Java基础教程】(八)面向对象篇 · 第二讲:Java 数组全面解析——动态与静态初始化、二维数组、方法参数传递、排序与转置、对象数组、操作API~

    掌握数组的动态及静态创建方式、使用及特征; 掌握引用类型数据的特征; 掌握数组的排序、转置操作; 数组可以将多个变量进行统一的命名,这样相同类型的元素就可以按照一定的顺序进行组合排列 。在 Java中,数组属于引用类型数据,所以在数组的操作过程中,也一定

    2024年02月13日
    浏览(50)
  • Git第二讲 使用Git命令创建和初始化仓库

    在使用Git之前,您需要创建并初始化一个Git仓库。这个仓库将用于存储您的项目文件并跟踪其版本。 首先,让我们创建一个全新的Git仓库。请按照以下步骤进行操作: 打开命令行终端或Git Bash,并导航到您想要存储项目的目录。 运行以下命令来初始化一个新的Git仓库: 这将

    2024年02月11日
    浏览(39)
  • Git设置初始化默认分支为main

    github创建项目的默认分支为main。本地创建的git分支默认为master,每次在本地新建一个仓库再关联到remote,分支不统一。 git在2.28版本中提供了一个配置,指定在执行 git init 的时候生成的默认分支 本地git版本不够的话先升级; 如果使用homebrew安装的git,直接升级即可 或者可以

    2024年02月13日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包