Git常用其它命令

这篇具有很好参考价值的文章主要介绍了Git常用其它命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Git常用其它命令

1、git archive

从命名树创建文件的存档。

# 查看支持的归档格式
$ git archive -l
tar
tgz
tar.gz
zip
# 生成一个可供发布的压缩包
$ git archive -o latest.zip HEAD

$ ls
a.txt  c.txt  d.txt  e.txt  f.txt  latest.zip  new.txt

2、git shortlog

汇总 git 日志输出。

# 显示所有提交过的用户,按提交次数排序
$ git shortlog -sn
    10  zsx242030

3、git blame

追溯文件的历史修改记录。

# 显示指定文件是什么人在什么时间修改过
$ git blame a.txt
ddbfc0b8 (zsx242030 2023-05-27 09:53:59 +0800 1) branch_a
8cb57f66 (zsx242030 2023-05-27 13:31:13 +0800 2) branch_b
d735ee3c (zsx242030 2023-05-27 17:04:00 +0800 3) branch_c
d735ee3c (zsx242030 2023-05-27 17:04:00 +0800 4) branch_d

4、git reflog

查看引用日志。

# 显示当前分支的最近几次提交
# 所有分支的所有操作记录,包括已经删除的commit记录和reset记录
$ git reflog
d735ee3 (HEAD -> master, origin/master, origin/branch_d, origin/HEAD) HEAD@{0}: clone: from https://gitee.com/zsx242030/sm.git

当错误使用 git reset --hard HEAD~3 回退的时候可以使用 git reflog 查看日志信息,进行正确的回退。

显示的是一个 HEAD 指向发生改变的时间列表,在你切换分支、用 git commit 进行提交、以及用 git reset 撤销

commit 时,HEAD 指向会改变,但当你进行 git checkout – filename 撤销或者 git stash 存储文件等操作时,

HEAD 并不会改变,这些修改从来没有被提交过,因此 reflog 也无法帮助我们恢复它们。

git reflog 不会永远保持,Git 会定期清理那些用不到的对象,不要指望几个月前的提交还一直在那里。

5、git ls-files

列出 git index 包含的文件。

$ git ls-files
a.txt
c.txt
d.txt
e.txt
f.txt
new.txt

6、git restore

撤销文件。

在工作区修改代码时,如果发现修改错误了,想回到修改之前的状态,就可以使用该命令。

撤消工作区的修改返回到最近一次add(缓存区)的版本或者最近一次commit(当前版本库)的版本。

# 新版本git提示用该命令进行撤销
$ git restore file
# 如果已经add进暂存区
$ git restore --staged file

7、git switch

创建和切换分支。

创建分支和撤销都用checkout容易分不清,因此新版本创建分支推荐用。

# 创建并切换到dev
$ git switch -c branch
# 直接切换到已有的dev分支
$ git switch branch

8、git show-branch

图示当前分支历史。

# 图示当前分支历史
$ git show-branch
[master] branch_d | update a.txt | update b.txt | update e.txt
# 图示所有分支历史
$ git show-branch --all
* [master] branch_d | update a.txt | update b.txt | update e.txt
 ! [origin/HEAD] branch_d | update a.txt | update b.txt | update e.txt
  ! [origin/branch_a] branch_a | update a.txt | add new.txt
   ! [origin/branch_b] branch_b | update a.txt | add new.txt
    ! [origin/branch_c] branch_c | update a.txt | delete e.txt
     ! [origin/branch_d] branch_d | update a.txt | update b.txt | update e.txt
      ! [origin/master] branch_d | update a.txt | update b.txt | update e.txt
-------
*+   ++ [master] branch_d | update a.txt | update b.txt | update e.txt
*+  +++ [origin/branch_c] branch_c | update a.txt | delete e.txt
*+ ++++ [origin/branch_b] branch_b | update a.txt | add new.txt
*++++++ [origin/branch_a] branch_a | update a.txt | add new.txt

9、git whatchanged

显示提交历史对应的文件修改。

$ git whatchanged
commit d735ee3c30c49d70e731df8922649ce40f4c5507 (HEAD -> master, origin/master, origin/branch_d, origin/HEAD)
Author: zsx242030 <2420309401@qq.com>
Date:   Sat May 27 17:04:00 2023 +0800

    branch_d | update a.txt | update b.txt | update e.txt

:100644 100644 8515a07... 3d9f4cd... M  a.txt
:100644 000000 e69de29... 0000000... D  b.txt
:000000 100644 0000000... c8616fd... A  e.txt

commit 8cb57f667e7681be447d98051da7a3b5123f8c33 (origin/branch_c)
Author: zsx242030 <2420309401@qq.com>
Date:   Sat May 27 13:31:13 2023 +0800

    branch_c | update a.txt | delete e.txt

:100644 100644 bfc4d22... 8515a07... M  a.txt
:100644 000000 e69de29... 0000000... D  e.txt

commit 5b05cb640c164e86db3f14c9e3af4529969ba534 (origin/branch_b)
Author: zsx242030 <2420309401@qq.com>
Date:   Sat May 27 13:14:01 2023 +0800

    branch_b | update a.txt | add new.txt

:100644 100644 dd18a66... bfc4d22... M  a.txt

10、git ls-tree

显示某个git对象。

$ git ls-tree HEAD~9
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    a.txt

$ git ls-tree HEAD
100644 blob 3d9f4cdcd79fcdb93e8fd327cd1df92cdc69648d    a.txt
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    c.txt
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    d.txt
100644 blob c8616fde5dfdac2ba2750e5e651039d287221dba    e.txt
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391    f.txt
100644 blob 3510812807e8a7055b1082bce8dab17ab478666d    new.txt

11、git rev-parse

显示某个ref对于的SHA1 HASH。

$ git rev-parse master
d735ee3c30c49d70e731df8922649ce40f4c5507

$ git log --oneline
d735ee3 (HEAD -> master, origin/master, origin/branch_d, origin/HEAD) branch_d | update a.txt | update b.txt | update e.txt
8cb57f6 (origin/branch_c) branch_c | update a.txt | delete e.txt
5b05cb6 (origin/branch_b) branch_b | update a.txt | add new.txt
ddbfc0b (origin/branch_a) branch_a | update a.txt | add new.txt
87d5c63 add f.txt
47e8b59 add e.txt
c0547da add d.txt
9c173bb add c.txt
8c4a625 add b.txt
8e58180 add a.txt

12、git gc

清理Git暂存区。

$ git gc
Counting objects: 28, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (28/28), done.
Total 28 (delta 7), reused 0 (delta 0)

13、git grep

搜索文件中的文本内容。

# 文件中搜索文本b
$ git grep "b"
a.txt:branch_a
a.txt:branch_b
a.txt:branch_c
a.txt:branch_d
e.txt:branch_d
new.txt:branch_a_new
new.txt:branch_b_new

# 文件中搜索文本branch_b
$ git grep "branch_b"
a.txt:branch_b
new.txt:branch_b_new

14、git fsck

恢复误删 stash 贮藏的数据。

$ git fsck
Checking object directories: 100% (256/256), done.
Checking objects: 100% (12/12), done.

15、gitk

内建的图形化。文章来源地址https://www.toymoban.com/news/detail-492766.html

$ gitk

到了这里,关于Git常用其它命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Git(3):Git环境常用命令

    1 获取本地仓库 要使用Git对我们的代码进行版本控制,首先需要获得本地仓库 (1)在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库 (2)进入这个目录中,点击右键打开Git bash窗口 (3)执行命令git init (4)如果创建成功后可在文件夹下看到隐藏的.git目

    2024年02月03日
    浏览(42)
  • git快速入门!!! git的常用命令!!!

    Git 是一个开源的分布式版本控制系统,有很多实用的命令可以帮助我们更高效地管理项目和代码。以下是一些常用的 Git 命令及其使用方法和示例: 1. 初始化一个新的 Git 仓库 这个命令会在当前目录下创建一个新的 Git 仓库。 2. 添加文件到暂存区 这个命令会把指定的文件添

    2024年02月05日
    浏览(54)
  • 【Git】git常用命令集合

      Git是现代软件开发不可或缺的版本控制工具,它可以追踪文件的变化、协同开发以及管理代码版本。掌握Git的常用命令对于开发人员来说至关重要。本文将为你介绍一些Git常用命令,帮助你轻松驾驭版本控制。   详细介绍了Git的常用命令,涵盖了版本管理、分支操作、

    2023年04月08日
    浏览(67)
  • git 常用命令之 git checkout

    大家好,我是 17。 git checkout 是 git 中最重要最常用的命令之一,本文为大家详细解说一下。 checkout 的用途之一是恢复工作区。 checkout . 表示恢复工作区的所有更改,未跟踪的文件不会有变化。 恢复工作区的所有文件风险比较大,会丢失所有工作区的修改,一定要慎用 中间加

    2023年04月13日
    浏览(81)
  • 【git】工作场景中常用的git命令

    工作场景中常用的git命令,记录下来方便调取 一般与他人合作,至少你提交的名字得被人熟知或者遵循规范,因此需要更改名字和邮箱 全局修改 只对本项目的修改 有时候你想使用简略的命令如直接 git push 而不指定远程分支,则需要设置一个远程分支作为你的上游分支 我们

    2024年02月11日
    浏览(38)
  • 【Git】git环境如何搭建与其常用命令

    搭建 Git 环境: 安装 Git 客户端:根据操作系统选择对应的版本进行下载安装,下载地址:https://git-scm.com/downloads。 配置 Git 用户名和邮箱:打开 Git Bash(Windows 系统)或终端(Mac、Linux 系统),输入以下命令进行配置。 常用 Git 命令: 初始化 Git 仓库:在项目目录下通过以下

    2023年04月25日
    浏览(49)
  • git常用命令(git github ssh)

    被” “和\\\"[ ]“包含起来的内容表示用户自己选定的参数。但” “是要求用户必须输入的,而”[ ]\\\"表示用户可以根据自己的需要选择输入。 比如git reset的语法是这样的: 其中commitid指的是commit id,可以理解为每一提交到本地仓库之后该仓库状态的ID,利用这个ID我们可以快速

    2024年02月03日
    浏览(51)
  • Git系列讲解(五):Git常用命令整理

    Git系列的前几篇文章针对基础知识进行了详细讲解,但是Git还包含很多其他命令,就不每个都展开细讲了,本篇文章整理了一些2.0+版本的常用Git命令,以供备忘。 1.1 git clone url 本地路径 克隆远程版本库到本地所指定的路径中,包括代码,分支和版本的提交记录等; 若后面不

    2024年02月04日
    浏览(41)
  • git 常用命令 config

    [Ref] Git 如何快速查询 git config 配置文件的本地路径 [Ref] git bash中 中文显示为数字 [Ref] Git LF和CRLF问题解决记录 问题 :在windows下面修改代码然后push,然后在linux下面pull,就会出现CRLF的警告,然后提示出现致命错误不能pull代码需要先push本地修改的代码。 原因 :Linux系统和

    2024年02月08日
    浏览(31)
  • Git笔记--分支常用命令

    目录 1--git branch -v 2--git branch 3--git checkout 4--git merge git branch -v 用于查看分支版本; git branch 用于创建分支; git checkout 用于切换分支,更改工作区的文件不会影响其它分支(前提是 修改的文件需要在修改的分支里进行git commit) git merge 用于合并分支,假设当前分支是 xxxxx,上

    2024年02月11日
    浏览(56)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包