git实战-2、gitk使用

本文详细介绍Gitk工具的使用方法,包括其界面元素解释、常见Git操作对应的视图变化,以及如何利用gitk选项进行高级历史浏览。适合Git初学者及进阶用户掌握更直观的版本控制管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git实战-2、gitk使用

前言

gitk官方介绍:
https://git-scm.com/docs/gitk

概念:显示存储库或选定提交点的更改信息。这包括可视化commit图,显示与每个commit相关的信息,以及每个修订的树中的文件。

使用git客户端,试图理解git世界中checkout,commit,branch,remote,rebase等术语

在window客户端进入到git仓库,使用命令打开gitk工具窗:

gitk --all

gitk可视化页面说明

在这里插入图片描述

说明信息:

  1. 左上方窗格显示了此存储库的一系列提交,其中最新的提交位于顶部。
  2. 右边窗格显示所选提交的用户信息和提交时间
  3. 所选提交的message
  4. 名为“master”的本地分支,它指向最近的提交
  5. 远程引用分支,远程存储库的名为“origin”的“master”分支,指向最近的提交。
  6. 黄点表示上次提交点HEAD、红色表示本地还存在未add的文件、绿色表示本地改变的文件已经add,但是还没有提交、蓝色表示已经提交的记录
  7. 所选提交的详情,author:作者,commiter:提交者,Parent:上次提交的SHA ID,child:下次提交的SHA ID,branch所提交的分支,follows:跟进者,precedes:领先
  8. 提交的提交SHA ID(唯一标识符,类似于subversion修订号)
  9. 本次提交变化的文件
    10、提交文件的基本信息

git操作和gitk视图变化

新建dev分支,F5刷新gitk工具,视图刷新,我们可以进行一些git常规操作,去F5刷新对应gitk视图,进行可视化的查看git status

git branch dev

在这里插入图片描述

git checkout dev

在这里插入图片描述

git commit -am"test commit"

在这里插入图片描述

查看gitk,出现dev黄色提交点,说当前库指向了新的分支ddev。

在这里插入图片描述

切回去master库,git checkout master

git merge dev

在这里插入图片描述

git branch -d dev

在这里插入图片描述

给test_commit2 创建一个标签 2.31

在这里插入图片描述

git选项说明

摘自:https://git-scm.com/docs/gitk

–all
Show all refs (branches, tags, etc.).

–branches[=]
–tags[=]
–remotes[=]
Pretend as if all the branches (tags, remote branches, resp.) are listed on the command line as . If is given, limit refs to ones matching given shell glob. If pattern lacks ?, , or [, / at the end is implied.

–since=
Show commits more recent than a specific date.

–until=
Show commits older than a specific date.

–date-order
Sort commits by date when possible.

–merge
After an attempt to merge stops with conflicts, show the commits on the history between two branches (i.e. the HEAD and the MERGE_HEAD) that modify the conflicted files and do not exist on all the heads being merged.

–left-right
Mark which side of a symmetric difference a commit is reachable from. Commits from the left side are prefixed with a < symbol and those from the right with a > symbol.

–full-history
When filtering history with …​, does not prune some history. (See “History simplification” in git-log[1] for a more detailed explanation.)

–simplify-merges
Additional option to --full-history to remove some needless merges from the resulting history, as there are no selected commits contributing to this merge. (See “History simplification” in git-log[1] for a more detailed explanation.)

–ancestry-path
When given a range of commits to display (e.g. commit1…commit2 or commit2 ^commit1), only display commits that exist directly on the ancestry chain between the commit1 and commit2, i.e. commits that are both descendants of commit1, and ancestors of commit2. (See “History simplification” in git-log[1] for a more detailed explanation.)

-L,:
-L::
Trace the evolution of the line range given by “,” (or the function name regex ) within the . You may not give any pathspec limiters. This is currently limited to a walk starting from a single revision, i.e., you may only give zero or one positive revision arguments. You can specify this option more than once.

<think>我们正在回答用户关于Git各种扩展和子模块工具包的用途及安装方法的问题。用户提到了多个软件包,我们需要逐一解释它们的用途,并提供在Ubuntu系统上的安装方法。 参考引用: - [^1] 提到了git-daemon-run, git-daemon-sysvinit, git-doc, git-el, git-email, git-gui, gitk, gitweb, git-arch, git-cvs, git-mediawiki等包。 - [^2] 提供了在Ubuntu 20.04上安装Git的方法。 - [^3] 展示了下载ijkplayer代码的git clone命令。 由于用户的问题集中在Ubuntu系统上,我们将以Ubuntu为例(特别是20.04 LTS)说明安装方法。 ### 各软件包的用途及安装方法 1. **git-daemon-run 和 git-daemon-sysvinit** - **用途**:这两个包提供了Git守护进程(git-daemon),它允许通过`git://`协议进行匿名访问Git仓库。通常用于搭建公共的Git仓库服务器。 - `git-daemon-run` 使用`runit`来管理守护进程(在Ubuntu中较少使用)。 - `git-daemon-sysvinit` 使用传统的SysVinit脚本(如`/etc/init.d/git-daemon`)来管理守护进程。 - **安装方法**: ```bash sudo apt update sudo apt install git-daemon-run # 或者 git-daemon-sysvinit ``` 安装后,需要配置仓库目录并启动服务。 2. **git-doc** - **用途**:包含Git的文档(如手册页、HTML文档)。安装后可以通过`man git-<command>`或浏览器查看HTML文档(通常在`/usr/share/doc/git-doc/`目录下)。 - **安装方法**: ```bash sudo apt install git-doc ``` 3. **git-el** - **用途**:提供Emacs编辑器对Git的支持(如magit模式)。 - **安装方法**: ```bash sudo apt install git-el ``` 4. **git-email** - **用途**:提供使用Git发送邮件的功能(如`git send-email`命令),常用于提交补丁到邮件列表。 - **安装方法**: ```bash sudo apt install git-email ``` 5. **git-gui** - **用途**:Git的图形化界面(基于Tcl/Tk),提供提交、分支管理等操作的图形界面。 - **安装方法**: ```bash sudo apt install git-gui ``` 安装后,通过`git gui`命令启动。 6. **gitk** - **用途**:Git的仓库浏览器,主要用于查看提交历史。 - **安装方法**: ```bash sudo apt install gitk ``` 安装后,通过`gitk`命令启动。 7. **gitweb** - **用途**:提供通过网页浏览器访问Git仓库的功能(需要配置Web服务器)。 - **安装方法**: ```bash sudo apt install gitweb ``` 安装后,需要配置Apache/Nginx等Web服务器。 8. **git-arch, git-cvs, git-mediawiki, git-svn** - **用途**:这些是Git与其他版本控制系统(如Arch、CVS、MediaWiki、SVN)的互操作工具。 - `git-arch`:支持与GNU Arch仓库交互(已过时)。 - `git-cvs`:支持在Git和CVS仓库之间互操作。 - `git-mediawiki`:支持从MediaWiki站点获取页面历史(需要`mediawiki`包)。 - `git-svn`:支持与Subversion(SVN)仓库交互(常用)。 - **安装方法**: 这些工具通常包含在`git`主包中,但也可以单独安装(如果拆分的话)。在Ubuntu中,它们可能被打包成单独的包,但更常见的是作为`git`的一部分。如果需要单独安装,可以尝试: ```bash sudo apt install git-svn git-cvs git-mediawiki ``` 注意:`git-arch`在较新的Ubuntu中可能已被移除。 ### 安装Git基础 如果尚未安装Git,可参考[^2]安装: ```bash sudo apt update sudo apt install git ``` ### 总结 以上软件包都是Git的扩展工具,用于增强Git的功能(如图形界面、邮件支持、与其他版本控制系统交互等)。在Ubuntu中,使用`apt install`命令即可安装。安装后,根据具体需求进行配置即可使用。 §§相关问题§§ 1. 如何配置Git守护进程(git-daemon)以提供匿名访问? 2. 如何使用git-svn与Subversion仓库进行交互? 3. 如何配置gitweb以便通过网页访问Git仓库? 4. 在Ubuntu上安装Git后,如何查看Git的文档?</think>### Git扩展工具包用途及安装方法 #### 1. 核心组件 - **git-daemon-run / git-daemon-sysvinit** 用途:提供Git守护进程服务,支持`git://`协议匿名访问仓库 安装:`sudo apt install git-daemon-run` 配置:需在`/etc/sv/git-daemon/run`设置仓库路径 - **git-doc** 用途:Git官方文档(HTML格式) 安装:`sudo apt install git-doc` 访问:`file:///usr/share/doc/git-doc/` - **git-el** 用途:Emacs编辑器的Git集成插件 安装:`sudo apt install git-el` 功能:提供magit等Emacs Git模式 #### 2. 通信工具 - **git-email** 用途:通过邮件发送补丁(`git send-email`) 安装:`sudo apt install git-email` 配置示例: ```ini [sendemail] smtpServer = smtp.example.com smtpUser = your@email.com ``` - **git-mediawiki** 用途:与MediaWiki协作(维基页面版本控制) 安装:`sudo apt install git-mediawiki` 使用:`git clone mediawiki::https://wiki.example.com` #### 3. 图形界面 - **git-gui** 用途:Tcl/Tk图形化客户端 安装:`sudo apt install git-gui` 启动:`git gui` - **gitk** 用途:仓库历史可视化工具 安装:`sudo apt install gitk` 启动:`gitk --all` - **gitweb** 用途:网页版仓库浏览器 安装:`sudo apt install gitweb` 配置:需设置Apache/Nginx #### 4. 版本控制桥接 - **git-svn** 用途:与Subversion仓库交互 安装:`sudo apt install git-svn` 克隆SVN:`git svn clone http://svn.example.com` - **git-cvs** 用途:与CVS仓库交互 安装:`sudo apt install git-cvs` 导入:`git cvsimport -C repo_name cvsroot` - **git-arch**(历史组件) 用途:与GNU Arch仓库交互(已淘汰) #### 安装说明(Ubuntu 20.04+) 1. 更新软件源: ```bash sudo apt update ``` 2. 批量安装(示例): ```bash sudo apt install git-daemon-run git-doc git-email git-gui gitk gitweb git-svn git-cvs ``` 3. 验证安装: ```bash git --version # 应显示 >= 2.25.1[^2] ``` > **注意**:部分工具如`git-mediawiki`需要额外依赖,安装时自动解决。图形工具需X11环境支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值