40个常用git命令(下)

2024-09-02 05:48
文章标签 命令 常用 git 40

本文主要是介绍40个常用git命令(下),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

40个常用git命令(上)_咸鱼弟的博客-CSDN博客

21、将标签添加到您的项目

标签使您可以标记开源项目中的重要事件。开发人员经常使用它们来标记新的复发或错误修复。请仔细查看以下git命令,以了解如何使用git将标签添加到项目中。

linuxidc@Ubuntu:~/www.linuxidc.com$ git tag 1.0.0 new-linuxidc
linuxidc@ubuntu:~/www.linuxidc.com$ git tag 1.0.0 new-linuxidc

fatal: 标签 '1.0.0' 已存在

此命令将标签1.0.0添加到特定的提交。您可以使用以下命令获取commit-id(new-linuxidc)。

linuxidc@ubuntu:~/www.linuxidc.com$ git log
commit 482b4bebada278b29001338411de7c42743065d5 (HEAD -> new-linuxidc, tag: 1.0.0, master)
Author: linuxidc <root@linuxidc.net>
Date:  Thu Apr 30 14:21:46 2020 +0800

    Linuxidc Commit

使用以下命令将标签推送到您的远程仓库中。

linuxidc@ubuntu:~/www.linuxidc.com$ git push origin --tags

您需要明确指定–tags选项。否则,标签只会添加到您的本地仓库中,而不会添加到远程仓库中。

22、获取远程数据

您将经常使用的另一个常见git命令是fetch。由于许多原因,它非常有用。首先,访存仅检索新数据/引用,而不将它们合并到本地分支。因此,您可以放心,本地仓库的工作副本将保持安全可靠。

linuxidc@ubuntu:~/www.linuxidc.com$ git fetch origin

这是检查远程代码库最新进度而又不破坏项目自己版本的绝佳方法。一旦确定所有新数据都可以使用,只需将它们合并到本地分支即可。

23、恢复未提交的更改

git restore命令允许开发人员恢复其项目中所有未提交的更改。这些是您对项目的工作版本或本地索引中的内容所做的更改。您可以使用此命令来还原工作副本中的更改或索引中的更改,或者同时执行这两个操作。

linuxidc@ubuntu:~/www.linuxidc.com$ git restore --staged linuxidc1.py
linuxidc@ubuntu:~/www.linuxidc.com$ git restore --source=HEAD --staged --worktree linuxidc1.py

第一个命令将还原索引中的文件linuxidc1.py,第二个命令将还原索引和项目的当前工作目录。

24、删除文件

有时,您可能希望从工作树或项目索引中完全删除一些文件。您可以使用git rm命令来执行此操作。但是,此命令不会从您的工作目录中删除指定的文件。使用Linux rm命令执行此操作。

$ git rm *.py
$ git rm -r dir/
$ git rm --cached *.py

第一条命令从工作树和索引中删除所有py文件。第二个命令从dir/目录中删除所有内容。最后一条命令将仅从索引而不是工作树中删除所有py文件。

25、移动或重命名文件

您可以使用git移动或重命名文件,就像使用Linux mv命令一样。

git mv linuxidc1.py linuxidc11.py

上面的命令只是执行以下Linux操作。

$ mv test.py new-test.py
$ git add new-test.py
$ rm test.py

因此,您可以使用git mv命令来避免输入大量额外的Linux终端命令。

在git中移动和重命名文件

26、清理未跟踪的文件

未跟踪的文件是不在git版本控制系统下的文件。在进行大型项目时,您经常会偶然发现此类文件。您可以使用几种方法删除它们,包括git reset和git checkout。但是,使用git clean命令是最合适的方法。

linuxidc@ubuntu:~/www.linuxidc.com$ git clean

fatal: clean.requireForce 默认为 true 且未提供 -i、-n 或 -f 选项,拒绝执行清理动作

上面的命令失败,因为这是在我的系统中配置git的方式。您可以通过添加-n,-i或-f选项来解决此问题。

linuxidc@ubuntu:~/www.linuxidc.com$ git clean -n

27、优化本地仓库

我最喜欢的git命令之一是gc。它用于垃圾收集,将帮助您减小本地仓库的大小。如果您正在处理大量项目,则应经常使用此命令。

linuxidc@ubuntu:~/www.linuxidc.com$ git gc

枚举对象: 10, 完成.
对象计数中: 100% (10/10), 完成.
压缩对象中: 100% (10/10), 完成.
写入对象中: 100% (10/10), 完成.
总共 10 (差异 0),复用 0 (差异 0)

git gc命令运行得非常快,并清理了本地仓库中所有不必要的文件。由于其速度和效率,它是最佳的优化方法之一。您也可以使用–aggressive选项来增加优化。但是,这将需要更多时间才能完成。

28、存档本地仓库

您可以使用git archive命令轻松地归档本地仓库。它允许开发人员将他们的项目安全地存储在某个地方。您可以通过网络传输此存档,也可以将其存储在Linux文件系统上。

linuxidc@ubuntu:~/www.linuxidc.com$ git archive --output=test --format=tar master

上面的命令将仓库存储在名为test的tar文件中。如果需要,可以省略–format选项。在这种情况下,git将尝试从名称中推断出存档格式。此命令还有更多选项可用。

29、搜索模式

在大型项目中工作时,通常需要搜索其他内容。幸运的是,git grep命令使我们能够在仓库中搜索特定的模式,并使开发更加容易。它的工作方式与标准Linux grep命令非常相似,具有一些特定于git的功能。

linuxidc@ubuntu:~/www.linuxidc.com$ git grep -iw 'import' master

此命令在我们的master分支中显示所有包含“ import”的行。它以不区分大小写的方式搜索。以下命令将在所有提交和分支中搜索给定的模式。

linuxidc@ubuntu:~/www.linuxidc.com$ git grep 'import' $(git rev-list --all)

如果您正在协作大型项目,这是最好的git命令之一。

30、管理工作树

开发人员可以在git中使用多个工作树。当签出多个项目分支时,这很有用。检查以下git命令,以了解如何在git中管理工作树。

linuxidc@ubuntu:~/www.linuxidc.com$ git worktree list
linuxidc@ubuntu:~/www.linuxidc.com$ git worktree add new-branch
linuxidc@ubuntu:~/www.linuxidc.com$ git worktree remove new-branch
linuxidc@ubuntu:~/www.linuxidc.com$ git worktree prune

您可以使用第一个命令显示当前的工作树。使用第二个命令添加一个新的“链接的工作树”,并使用第三个命令删除该树。最后一条命令允许您修剪工作树信息。

31、删除未跟踪的对象

有时您可能想删除不再由git跟踪的对象。Git提供了一个简单的命令来执行此操作。git prune命令只会从对象数据库中删除未跟踪的对象,而不会删除引用本身。

linuxidc@ubuntu:~/www.linuxidc.com$ git prune --dry-run
linuxidc@ubuntu:~/www.linuxidc.com$ git prune --verbose --progress

第一条命令不会删除任何内容,只会显示修剪后会删除的对象。第二条命令在删除期间提供详细的输出以及进度报告。您可以使用prune命令和git gc命令一起优化仓库。

32、打包未归档文件

在git中,包是单个压缩对象的集合。Git对这些对象应用增量压缩并将其存储在单个文件中。它们用于减少Linux文件系统或镜像系统上的负载。git repack命令允许用户创建新的包,这些包由不位于现有包内的对象组成。

linuxidc@ubuntu:~/www.linuxidc.com$ git repack

您可以将此命令与gic gc和git prune一起使用,以优化git仓库。

33、计算解包的对象数量

除非解压缩的对象太多,否则不应经常重新打包对象。git count-objects命令是一种简单但有用的方法,用于查看解包对象的数量及其消耗的磁盘空间。

linuxidc@ubuntu:~/www.linuxidc.com$ git count-objects

使用上面的命令来确定是否应该重新打包git。您可以添加–verbose标志以获取详细信息,还可以添加–人类可读标志以常规方式显示尺寸。

34、验证对象数据库

Git最初是作为文件系统开发的。它具有一个称为fsck的有用命令,其作用与Unix fsck非常相似。您可以使用此命令来验证连接性并执行对象的完整性检查。

linuxidc@ubuntu:~/www.linuxidc.com$ git fsck

运行以上命令将显示在对象数据库中找到的所有损坏的对象。它是查找丢失或不良对象的最有用的git命令之一。

35、显示每次提交的更改

git whatchanged命令是我们最喜欢的git子命令中的另一个。这是一种查看每个git commit引入到我们项目的更改的简单但有效的方法。

linuxidc@ubuntu:~/www.linuxidc.com$ git whatchanged

此git命令将使用提交日志和diff输出显示信息。总的来说,它的操作与git log命令非常相似。

36、汇总日志信息

您还可以使用git shortlog命令查看历史记录。该命令的主要思想是将输出包含在发行公告中。快速浏览以下命令以了解其工作原理。

linuxidc@ubuntu:~/www.linuxidc.com$ git shortlog
linuxidc@ubuntu:~/www.linuxidc.com$ git shortlog --email --summary

添加–email选项将显示每个作者的电子邮件。该-summary选项会抑制通常输出,只会显示提交的数目。

37、管理配置选项

git有大量可用的配置选项。您可以使用git config命令查询,设置或替换各种选项。可以对特定仓库和全局配置进行更改。

linuxidc@ubuntu:~/www.linuxidc.com$ git config --list

上面的命令将在git中列出所有当前设置的配置选项。您可以轻松添加或删除新选项。遵循config子命令的帮助页面以了解如何执行这些任务。

linuxidc@ubuntu:~/www.linuxidc.com$ git config --help

38、Git帮助

git或任何其他Linux终端命令的帮助页面提供了所有可用选项的摘要信息。当您遇到git问题时,它应该是第一个访问的地方。快速浏览以下命令以了解如何调用git帮助页面。

linuxidc@ubuntu:~/www.linuxidc.com$ git help
linuxidc@ubuntu:~/www.linuxidc.com$ git --help

因此,您可以使用Unix风格的–help选项或git中内置的help子命令来查询git帮助页面。此外,git还提供了有关子命令的帮助页面。

linuxidc@ubuntu:~/www.linuxidc.com$ git <command> --help
linuxidc@ubuntu:~/www.linuxidc.com$ git commit --help

39、手册页

手册页包含有关git版本控制系统及其所有子命令的深入信息。您可以按照以下语法查看它们。

linuxidc@ubuntu:~/www.linuxidc.com$ man git
linuxidc@ubuntu:~/www.linuxidc.com$ man git commit

因此,您也可以像使用帮助页面一样查看各个子命令的手册。

40、显示版本信息

您可以使用以下简单命令查看系统上已安装的git版本。由于git在很大程度上随着时间的推移而发展,因此各种git版本之间存在显着差异。

linuxidc@ubuntu:~/www.linuxidc.com$ git --version

只需使用以上命令即可在您的计算机上获取特定版本的git。

这篇关于40个常用git命令(下)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129161

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必