使用 Git

Git 是一个快速的去中心化版本控制系统。Git 支持 Windows、Linux 和 macOS。

您可以使用 Gerrit 代码审查工具来审查使用 Git 的项目。

初始化 Git 仓库

要开始控制当前未在版本控制下的项目目录,请选择 工具 > Git > 创建仓库。Qt 设计工作室创建一个新的名为 .git 的子目录,其中包含所有必要的仓库文件。但是,Git 当前不跟踪该项目中的任何内容,因此您需要创建一个初始提交来开始跟踪项目文件。

处理当前文件

要处理当前文件,请选择 工具 > Git > 当前文件 中的命令。其中一些命令也适用于包含文件的 project 或本地仓库。

查看 Git 差异

您可以对当前文件或项目进行 diff 比较以与存储在仓库中的最新版本进行比较,并显示差异。要仅在只读编辑器中显示 diff,请选择 差异为。如果文件可访问,您可以通过双击选定的 diff 块来打开 Qt 设计工作室,并显示该文件的编辑版本,滚动到相关问题所在的行。

差异编辑器以并排方式显示差异。要使用统一差异视图,请从工具栏中选择 切换到统一 diff 编辑器(1)选项。在这两种视图下,您都可以使用上下文菜单命令来应用、还原、暂存和取消暂存块或选定的行,以及将块发送到代码粘贴服务。

查看 Git 日志

要显示文件的版本历史,请选择日志。日志输出包括日期、提交信息和提交标识符。

您可以在首选项 > 版本控制 > Git > 日志计数中设置显示的最多日志条目数。

单击提交标识符可以查看提交详情。

{Commit details in Git log}

右键单击提交标识符将弹出一个上下文菜单,您可以在其中对提交应用操作,例如查看注释或 cherry-pick 或撤销提交。有关更多信息,请参阅与分支一起工作

要切换到差异视图,请选择差异。要使用耐心算法计算差异,请选择耐心。要仅显示文本更改,请选择忽略空白

要按提交消息中的文本、添加或删除的字符串或作者筛选日志条目,请选择过滤。在按消息过滤按内容过滤按作者过滤字段中输入搜索字符串。选择区分大小写以使过滤考虑大小写。

要仅跟踪合并提交的第一个父级,请选择第一个父级

要切换日志的文本和视觉表示,请选择图形

要切换日志各部分的着色,请选择颜色

要显示文件的先前列名日志,请选择跟进

选择 (重新加载) 以重新扫描文件。

要显示包含差异的更改描述的Git Show视图,请在上下文菜单中选择描述更改

{Commit description in Git show}

查看注释

要查看注释,请选择责备。在Git 责备视图中,文件中的每一行都以前置的提交标识符开头。

{Git Blame view}

默认情况下,当您在文件中滚动时,每行都会被注释。要禁用此功能,请选择首选项 > 版本控制 > Git,并取消选择即时责备。要找到引入最后实际代码更改的提交,请选择忽略空白更改。要找到在移动之前的行,请选择忽略行移动

要查看当前行的注释,请选择工具 > Git > 当前文件 > 即时责备

单击提交标识符以显示更改的详细描述。

要查看先前版本的注释,请右键单击提交标识符并选择责备父级修订版。这允许您导航文件的记录并获取其先前版本。

要查看文件内或文件间的移动或复制行,请选择检测文件内的移动检测文件间的移动检测文件间的移动和复制

要隐藏查看中的日期和时间信息,请选择省略日期

上下文菜单中的其他操作允许您将操作应用于提交,例如 cherry-pick、检出或撤销它们。

要重新扫描文件,请选择 (重新加载)。

暂存更改

要将新文件或修改过的文件标记为提交到仓库,请选择暂存文件以提交。要撤销此功能,请选择从提交中取消暂存文件

重置更改

Git使用索引来暂存更改。索引将在下一次提交时进行提交。Git允许您回滚到最后一次提交的状态,以及索引中的已暂存状态。

要撤销所有更改并将当前文件重置为索引状态,选择撤销未暂存的更改

要将当前文件恢复到最后一次提交后的状态,选择撤销未提交的更改。这将撤销所有更改,并丢弃索引。

与当前项目协同工作

要处理当前项目,选择工具 > Git > 当前项目。上述已描述了适用于当前文件或项目的Diff ProjectLog Project命令。

清理项目

要清理工作目录,选择清理项目。所有不在版本控制下的文件都会在Clean Repository对话框中显示。默认情况下,忽略的文件会被取消选择。选择要删除的文件,然后选择删除

与本地仓库协同工作

要处理本地仓库,选择工具 > Git > 本地仓库中的命令。上方已描述了也适用于当前文件或项目的命令。

查看引用日志

引用日志记录了在本地仓库中分支和其他引用的末端的更新时间。要查看引用日志,选择Reflog

查看Git状态

要在版本控制中查看仓库状态,选择状态。上下文菜单有额外的操作,例如选择和清除所有条目、复制文本以及打开文件。

将更改提交到Git

要将您的更改提交到Git,选择提交。Qt设计工作室显示一个包含文本编辑器提交页面,您可以在这里输入您的提交消息和一个可勾选的已修改文件列表以包含在内。

{Committing changes with Git}

一般信息显示提交的仓库和分支名称。

提交信息中,您可以编辑关于提交作者的信息。要绕过重新提交和提交消息钩子,选择绕过钩子。如果项目使用署名,选择署名以在提交日志消息的末尾添加作者签名。

描述中,编辑提交信息。

文件中,选择要包含在提交中的文件。

填写完提交页面信息后,选择提交以开始提交。

选择差异文件”按钮打开文件列表中选择的文件的差异视图。在上下文菜单中选择“暂存块”以暂存块或选择“暂存选择”以暂存所选行。

要取消暂存块或所选行,在上下文菜单中选择“取消暂存块”或“取消暂存选择”。要撤销块中的更改,选择“撤销块”。

提交页面只是另一个编辑器,因此您关闭差异视图时会返回到它。您还可以通过在侧边栏的“打开文档”视图中选择来切换到打开的差异视图。

更改提交

要将最新更改应用到上一个提交,请选择 工具 > Git > 本地仓库 > 修改上一个提交

{Amending a Git commit}

在修改之前,查看提交的当前形式,请选择 显示 HEAD

要查看所选文件的更改差异,请选择 比较所选文件

选择 提交 修改提交。

要修改一系列相关提交中的 earlier comment,请选择 工具 > Git > 本地仓库 > 修复上一个提交。此操作使用交互式重构。如果在处理冲突时,建议使用合并工具。

重置本地仓库

要重置更改,请选择 重置。这将打开一个对话框,您可以在其中选择要重置工作目录的提交。这在应用审核补丁后很有用。您可以选择以下选项之一:执行 软重置(不触及索引文件和工作树),执行 硬重置(丢弃工作树中所有跟踪文件的更改),或执行 混合重置(重置 HEAD 和索引(暂存区内容不保留))而不触及工作目录。

要恢复已删除文件,请选择 恢复已删除文件

要更改本地仓库中的一系列提交,请选择 交互式重构。您可以对提交重新排序或删除提交,将它们合并到一个提交,或编辑提交消息。

如果您已将本地更改推送到远程,Qt Design Studio 会拒绝交互式重构,因为本地提交缺失。要从更改日志开始交互式重构,请选择 分支 > 日志。选择更改项,然后在上下文菜单中选择 > 从更改交互式重构

处理分支

要处理 Git 分支,请选择 分支。在 Git分支 视图中显示分支列表以及您本地分支与其源之间存在的差异。您已签出的分支以粗体和下划线显示。

{Git Branches view}

默认情况下,旧条目和标记会被过滤掉分支列表。要包括它们,请选择 (《过滤树》),然后选择《包括旧条目》和《包括标记》。

要将标签添加到更改日志中的更改,请选择 分支 > 日志。选择更改项,然后在上下文菜单中选择 为更改添加标签

如果检查出了特定的提交,分支列表将显示 Detached HEAD 条目。

对于本地和远程分支,双击分支名称可查看更改日志。

要刷新分支列表,请选择 (《刷新》)。

添加分支

要创建新的跟踪分支或非跟踪分支,请选择

{Add Branch dialog}

在创建分支时检查出来,请选择 检出新分支

要跟踪所选分支,请选择 跟踪本地分支

管理分支

分支的上下文菜单具有以下功能

菜单项描述
添加创建新的跟踪和非跟踪分支。
删除删除本地分支。您无法删除远程分支。
重命名重命名本地分支或标记。您无法重命名远程分支。
检出检出所选分支并将其设置为当前分支。您可以暂存您对跟踪文件所做的更改。
比较显示选定的与当前分支之间的差异。
日志显示分支中的更改。
重置将活动分支重置为选中分支。您可以选择进行重置、混合重置或重置。有关更多信息,请参阅重置本地仓库
合并将两个分支的开发历史合并在一起。

如果您正在合并的提交可以通过跟踪第一个提交的历史来访问,则不需要合并任何分叉的工作。为了允许Git移动分支指针,请选择合并(快速前进)。如果您不希望快速转发分支,请选择合并(不快速前进)

变基将本地提交复制到更新的上游头。
cherry pick从选择的分支中选择顶部提交进行cherry pick。
跟踪将当前分支设置为跟踪选择的分支。
推送将提交的更改推送到选定的远程分支。

远程分支的上下文菜单包含以下附加功能。要打开它,请选择远程分支或远程仓库。

菜单项描述
获取从特定的远程仓库获取所有分支和更改信息,或者如果应用到了远程分支,则从所有远程仓库获取。
管理远程打开远程对话框。

配置合并工具

只支持图形化合并工具。您可以在命令行中配置要使用的合并工具。例如,要使用KDiff3合并工具,请输入以下命令

git config --global merge.tool kdiff3

应用补丁

补丁是Git可以应用于一组文件的重新编写指令。要应用在Qt设计工作室中打开的补丁文件,请选择补丁 > 从编辑器应用

要从文件系统中选择要应用的补丁文件,请选择从文件应用

使用储藏

使用Git,您可以将当前更改集放入一个称为储藏的虚拟架上。储藏很有用,例如,将一组更改放在一边,以便在高优先级任务上工作或从另一个仓库获取新更改。

要储藏所有本地更改,请选择储藏 > 储藏。工作副本将重置为上次提交后的状态。要保存未暂存的文件当前状态并重置仓库到暂存状态,请选择储藏未暂存文件

要显示显示所有已知储藏的对话框,并提供恢复、显示或删除它们的选项,请选择储藏

要保存当前工作的快照以供将来参考,请选择拍摄快照。工作副本不会更改。例如,如果您想尝试并稍后知道它不起作用,您可以将更改删除并回到快照的状态。

要从储藏列表中删除单个储藏状态并将其应用于当前工作树的当前状态,请选择储藏弹出

将操作应用于提交

要浏览目录或提交历史并针对提交应用操作,请选择工具 > Git > 对提交应用操作

{Select a Git Commit dialog}

您可以对提交应用以下操作

菜单项描述
存档将提交打包成ZIP或tar包。
检出在没有头部状态的状态下检查更改。
cherry pick将选择的更改 cherry-pick 到本地仓库中。
撤销撤销回上次提交的状态。
显示在差异编辑器中显示提交。

与远程仓库协同工作

要协同工作于远程仓库,请选择工具 > Git > 远程仓库

要从远程仓库获取所有分支和变更信息,请选择获取

要从远程仓库拉取变更,请选择拉取。如果有本地已修改的文件,系统将提示您将变更保存起来。选择首选项 > 版本控制 > Git,然后选中拉取时执行变基操作复选框以在拉取过程中执行变基操作。

要将已提交的变更推送到远程仓库,请选择推送。如果本地分支在远程仓库中没有上层分支,Qt Design Studio将提示您创建它并设置为上层分支。

管理远程仓库

要管理 Git 中可用的远程仓库,请选择工具 > Git > 远程仓库 > 管理远程仓库。双击远程仓库的名称和 URL 以编辑它们。

支持以下操作

菜单项描述
刷新刷新远程仓库列表。
添加添加新的远程仓库。
获取从远程仓库获取所有分支和变更信息。
推送将已提交的变更推送到远程仓库。
删除删除远程仓库。

使用 Git 与 Subversion

您可以将 Git 作为 Subversion 服务器客户端使用。要从 Subversion 仓库获取变更至 Git 仓库,请选择 工具 > Git > 远程仓库 > Subversion > 获取

要查看 Git Subversion 日志,请选择 日志

要将当前分支的提交发布到 Subversion 服务器,请选择 DCommit。这将为每个本地 Git 提交在 Subversion 中创建一个修订版本。然后,根据 Subversion 与头之间是否有差异,合并分支或重置(取决于是否有差异)。

使用 Gerrit 审查代码

如果您的 Git 项目使用 Gerrit 进行代码审查,您可以在 Qt Design Studio 中查看您的变更。

要将已提交的变更推送到 Gerrit,请选择 工具 > Git > 远程仓库 > 推送到 Gerrit

选中草稿/私有复选框以推送只有您和审稿人可见的变更。如果您正在使用 Gerrit 2.15 或更高版本,您还可以选择工作进度复选框以推送不会生成电子邮件通知的变更。

要查看与 Gerrit 网络界面中相同的信息,请选择 工具 > Git > 远程仓库 > Gerrit

要查看所选变更的详细信息,请选择 显示

要将选定的更改挑选到本地仓库,请选择挑拣更改。在测试后删除更改,请选择工具 > Git > 本地仓库 > 重置。在撤销更改到对话框中,选择要重置为的状态,然后选择确定

要选择空状态下的更改,请选择检出

要刷新更改列表,请选择刷新

远程字段列出了当前仓库检测到的Gerrit服务器。选择首选项 > 版本控制 > Gerrit以指定通过SSH到Gerrit服务器的备用连接。使用Gerrit REST接口和curl工具进行HTTP连接。

选择HTTPS复选框,如果Gerrit没有添加,则在Gerrit URL之前添加https

{Gerrit preferences}

使用Git工具

要开始Git的图形界面,请选择工具 > Git > Git工具 > Git Gui

注意:在macOS上,默认的Git安装中没有Git Gui。要使用Git Gui,请单独安装它。要从Qt Design Studio启动Git Gui,请选择首选项 > 版本控制 > Git,并在添加到PATH字段中设置包含Git Gui的环境路径。

要启动Git的提交查看器,请选择工具 > Git > Git工具 > Gitk。您还可以启动工具以在当前文档或包含当前文档的文件夹中查看提交。要为运行Gitk指定参数,请选择首选项 > 版本控制 > Git

要使用其他应用程序查看Git历史,例如GitX或QGit查看器,请选择首选项 > 版本控制 > Git,并在命令字段中指定应用程序的可执行文件路径。要启动应用程序,请选择工具 > Git > Git工具 > 仓库浏览器

要启动git bash,请选择工具 > Git > Git工具 > Git Bash

要解决合并冲突,请选择工具 > Git > Git工具 > 合并工具。仅当您有合并冲突要解决时,此菜单项才会可见。

在特定Qt许可下可用。
了解详细信息。