Git文件常用操作总结及拓展

 更新时间:2022年04月24日 14:03:56   作者:繁华似锦Fighting  
这篇文章主要为大家介绍了Git文件常用操作总结及拓展,添加多个文件到暂存区,提交操作未写备注,从工作区直接提交到版本库,有需要的朋友可以借鉴参考下

1、Git本地版本库结构

如下图所示:

  • 工作区(Working Directory
    添加、编辑、修改、删除文件等操作。
  • 暂存区(Stage
    打算提交,但还没提交的内容。最后可以统一提交到Git仓库中。也可以不提交,撤销回来。
  • Git仓库(Git Repository
    实实在在的项目存储的每个一历史的版本。

2、Git常用操作方法

Git的专属命令都是以git开始的,然后是索要执行的操作,最后还可以加上一些参数。

以下命令都需在仓库中执行。

(1)状态查看。

命令: git status

命令作用:查看工作区、暂存区状态。

(2)添加文件到暂存区。

命令:git add [file name]

命令作用:

  • 该命令的作用是告诉Git系统,将指定文件的当前快照写入到版本库暂存区。即,将文件交给Git进行版本管理。
  • 提交到暂存区,并且转换文件中的换行符。
  • 被Git追踪的暂存区中的文件可以被提交到本地版本库。

(3)文件从暂存区撤回到工作区。

命令:git rm --cached [file name]

命令作用:把文件从暂存区撤回到工作区。

(4)提交文件。

命令:git commit -m '本次提交的说明'

命令作用:提交操作就通过命令将Git暂存区中的文件快照永久性地写入到本地版本库中。

3、补充:添加多个文件到暂存区

有两种方式:

git add命令后添加多个文件,文件之间使用空格分隔。

git add命令后使用通配符*指定多个文件。

示例:

# 1.查看工作区、暂存区状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        hello.java      # 文件名为红色
        test.java       # 文件名为红色
        xyj-sha_hs.py   # 文件名为红色
        xyj-sun_wk.py   # 文件名为红色
        xyj-zhu_bj.py   # 文件名为红色
nothing added to commit but untracked files present (use "git add" to track)
# 2.添加多个文件到暂存区
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add hello.java test.java
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   hello.java  # 文件名为绿色
        new file:   test.java   # 文件名为绿色
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        xyj-sha_hs.py   # 文件名为红色
        xyj-sun_wk.py   # 文件名为红色
        xyj-zhu_bj.py   # 文件名为红色
# 3.使用通配符添加多个文件到暂存区
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add xyj*.py
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   hello.java      # 文件名为绿色
        new file:   test.java       # 文件名为绿色
        new file:   xyj-sha_hs.py   # 文件名为绿色
        new file:   xyj-sun_wk.py   # 文件名为绿色
        new file:   xyj-zhu_bj.py   # 文件名为绿色

4、补充:提交操作未写备注

如果你在执行git conmit提交命令的时候,并没有写-m信息,这时会启动文本编辑器,以便输入本次提交的说明。

默认的提交消息包含最后一次运行git status的输出,放在注释行里,如下图:

另外开头还有一空行,供你输入提交说明。你完全可以去掉这些注释行,不过留着也没关系,多少能帮你回想起这次更新的内容有哪些。

如下:

会弹出一个窗口,一个vim编辑器窗口:

说明:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
# Changes to be committed:
#       modified:   readme.txt
#

Please enter the commit message for your changes. Lines startingwith '#' will be ignored, and an empty message aborts the commit.

对于你这次提交中修改的内容要进行说明,
以'#'开头的行将被忽略,并且在第一行填写说明信息。

Changes to be committed: modified: readme.txt

readme.txt的修改已被Git追踪到。

进行提交说明的补充:

保存并退出后,提交成功,如下图:

总结:当提交操作的说明内容比较多,或者需要写的比较详细的时候,可以使用这种方式提交。

5、补充:从工作区直接提交到版本库

尽管使用暂存区域的方式,可以准备好要提交的细节,但有时候这么做略显繁琐。

Git提供了一个跳过使用暂存区域的方式,只要在提交的时候,给git commit命令加上-a选项,Git就会自动把所有已经跟踪过的文件,暂存起来一并提交,从而跳过git add步骤。

命令:git commit -a

示例:

(1)先查看当前工作目录中的文件状态。

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
nothing to commit, working tree clean

可以看到非常的干净。

(2)我们创建两个文件。

一个文件是新增文件test.txt,此前没有被Git追踪过。

两个文件是readme.txt,已被Git追踪,我们将该文件变成已修改状态。

# 1.新建test.txt
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ echo "hello test" &gt; test.txt
# 2.修改readme.txt文件
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ echo "hello git v666" &gt;&gt; readme.txt
# 3.查看工作目录中的文件状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add &lt;file&gt;..." to update what will be committed)
  (use "git restore &lt;file&gt;..." to discard changes in working directory)
        modified:   readme.txt	# 已修改状态,未在暂存区
Untracked files:
  (use "git add &lt;file&gt;..." to include in what will be committed)
        test.txt    # 未追踪状态
no changes added to commit (use "git add" and/or "git commit -a")

(3)提交到Git版本库中。

我们直接使用git commit -a -m命令直接执行提交操作,看看会发生什么情况。

# 提交
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git commit -a -m 'test -a'
[master 1b0de31] test -a
 1 file changed, 1 insertion(+)
# 查看工作目录文件状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Untracked files:
  (use "git add &lt;file&gt;..." to include in what will be committed)
        test.txt    # 未追踪状态
nothing added to commit but untracked files present (use "git add" to track)

我们可以看到,未被追踪状态的文件,不能直接从工作区直接提交到版本库,使用-a选择也不可以。

以上就是Git文件常用操作总结及拓展的详细内容,更多关于Git文件操作拓展的资料请关注脚本之家其它相关文章!

相关文章

  • 利用ChatGPT与MindShow制作一个PPT的方法详解

    利用ChatGPT与MindShow制作一个PPT的方法详解

    PPT制作是商务、教育和各种场合演讲的重要组成部分,然而,很多人会花费大量时间和精力在内容生成和视觉设计方面,为了解决这个问题,我们可以利用两个强大的工具——ChatGPT和MindShow,来提高制作PPT的效率,感兴趣的同学可以参考阅读
    2023-06-06
  • Spark在Windows下的环境搭建方法

    Spark在Windows下的环境搭建方法

    这篇文章主要介绍了Spark在Windows下的环境搭建方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 前端静态资源福利:百度静态JS资源公共库(CDN)

    前端静态资源福利:百度静态JS资源公共库(CDN)

    如果你在使用jQuery、Bootstrap、backbone、dojo、zepto等各种流行库,一定不要错过百度静态资源公共库。遍布全国各地100+个CDN节点提供加速服务。
    2023-03-03
  • Appium的使用与入门(这款神器你值得拥有)

    Appium的使用与入门(这款神器你值得拥有)

    这篇文章主要介绍了Appium的使用与入门(这款神器你值得拥有),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Typora导出Word格式操作

    Typora导出Word格式操作

    这篇文章主要介绍了Typora导出Word格式操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • xmind2022下载非试用超详细图文教程

    xmind2022下载非试用超详细图文教程

    这篇文章主要介绍了xmind2022下载非试用(超详细 图文预警),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • Windows使用GitHub Desktop详解

    Windows使用GitHub Desktop详解

    本文详细讲解了Windows使用GitHub Desktop的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Win10环境借助DockerDesktop部署大数据时序数据库Apache Druid的操作方法

    Win10环境借助DockerDesktop部署大数据时序数据库Apache Druid的操作方法

    文章介绍了如何在Windows 10环境下使用Docker Desktop部署最新版的大数据时序数据库Apache Druid 32.0.0,通过官方提供的docker-compose.yml文件和环境配置,成功启动了Zookeeper、PostgreSQL和6个Druid容器,感兴趣的朋友一起看看吧
    2025-02-02
  • 滑动验证码的设计与理解

    滑动验证码的设计与理解

    这篇文章主要介绍了滑动验证码的设计与理解,本文通过实例代码给大家介绍小网站是怎么设计的,代码简单易懂,需要的朋友可以参考下
    2019-08-08
  • 完美解决DeepSeek服务器繁忙问题

    完美解决DeepSeek服务器繁忙问题

    文章介绍解决DeepSeek服务器繁忙问题的三种方案用户端即时优化、高级技术方案和替代方案,用户端方案包括使用网络加速工具和错峰使用策略,高级技术方案涉及本地化部署和通过第三方平台调用模型,替代方案推荐使用纳米AI搜索、硅基流动和秘塔AI等工具,感兴趣的朋友一起看看
    2025-02-02

最新评论