Git

您可以使用Gerrit代码审查工具对使用 Git 的项目进行操作。

使用 Git for Windows

如果您仅配置 Git 用于 git bash,并且使用 SSH 授权,Git 将在 HOME 环境变量指向的目录中查找 SSH 密钥。该变量始终由 git bash 设置。

然而,在 Windows 命令提示符中通常不设置该变量。当您从 Windows 命令提示符运行 Git 时,它将在其安装目录中查找 SSH 密钥,因此授权失败。

您可以从 Qt Creator 设置 HOME 环境变量。选择 首选项 > 版本控制 > Git,然后选中 设置 "HOME" 环境变量 复选框。当运行 Git 可执行文件并且授权正常工作时,HOME 会设置为 %HOMEDRIVE%%HOMEPATH%

{Git preferences}

初始化 Git 仓库

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

处理当前文件

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

查看 Git Diff

您可以对当前文件或项目进行 diff 比较,将其与存储在仓库中的最新版本进行比较,并显示差异。要显示 diff 并在只读编辑器中查看,请选择 Diff of。如果文件可用,您可以双击选中的 diff 块,Qt Creator 将打开一个编辑器,显示该文件并滚动到相关的行。

差异编辑器以并排方式显示差异。若要切换到统一格式差异视图,请从工具栏中选择切换到统一差异编辑器(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 > 当前项目 中的命令。上面已描述了也适用于当前文件或项目的 对比项目项目日志 命令。

清理项目

要清理工作目录,请选择 清理项目。所有未受版本控制的文件将显示在 清理仓库 对话框中。默认情况下,已忽略的文件会被取消选择。选择要删除的文件,然后选择 删除

处理本地仓库

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

查看引用日志

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

查看 Git 状态

要在 版本控制 中查看仓库状态,请选择 状态。上下文菜单包含其他操作,例如选择和清除所有条目、复制文本和打开文件。

将更改提交到 Git

要将您的更改提交到 Git,请选择 提交。Qt Creator 显示一个包含一个文本编辑器(您可以在其中输入提交消息)和要包含的修改文件的检查列表的提交页面。

{Committing changes with Git}

常规信息 显示提交的仓库和分支名称。

提交信息 中,您可以编辑有关提交作者的信息。要绕过重新提交和提交消息挂钩,请选择 绕过挂钩。如果您的项目使用签字审批,请选择 签收 以在提交日志消息末尾添加作者 signed-off-by 跟踪器。

描述 中,编辑提交消息。

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

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

查看选定文件的差异 按钮打开所选文件的 差异视图。在上下文菜单中选择 暂存块 以暂存块或 暂存选择 以暂存所选行。

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

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

修改提交

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

{Amending a Git commit}

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

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

选择 提交 来修改提交。

要修改一系列关联提交中的早期评论,请选择 工具 > Git > 本地仓库 > 修复上一个提交。此操作使用交互式变基。如果有冲突,建议使用合并工具。

重置本地仓库

要重置更改,请选择 重置。这将打开一个对话框,其中您可以选择要重置工作目录的提交。例如,在应用补丁后,这非常有用。您可以选择 between a 温和 重置(不触及索引文件和工作树),a 重置(丢弃工作树中所有跟踪文件的更改),或 a 混合 重置(重置HEAD和索引(暂存区无内容),不触及工作目录)。

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

要更改本地仓库中的一系列提交,请选择 交互式变基。您可以重新排列或丢弃提交,将它们合并为一个提交,或编辑提交消息。

如果您已经将本地更改推送到远程,Qt Creator会拒绝交互式变基,因为本地提交已丢失。要从更改日志开始交互式变基,请选择 分支 > 日志。选择更改,然后在上下文菜单中选择 从更改执行交互式变基

与分支一起工作

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

{Git Branches view}

默认情况下,旧条目和标记被排除在分支列表之外。要包括它们,请选择 过滤树),然后选择 包括旧条目包括标记

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

如果您检出特定提交,分支列表将显示 HEAD未附加 条目。

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

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

添加分支

要创建一个新的跟踪分支或不跟踪分支,请选择

{Add Branch dialog}

要创建时检出分支,请选择 检出新分支

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

管理分支

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

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

如果您正在合并的提交可以通过跟随第一个提交的历史达到,则没有要合并的分歧工作。为了允许Git forward移动分支指针,请选择合并(快速前进)。如果不希望快速前进分支,请选择合并(不快速前进)

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

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

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

配置合并工具

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

git config --global merge.tool kdiff3

应用补丁

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

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

使用暂存

使用Git,您可以将当前的一组更改放置到称为暂存的虚拟架子上。暂存对于以下情况很有用,例如,暂时搁置一组更改以处理更高优先级任务,或从另一个仓库中拉取新更改。

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

要显示显示所有已知暂存的对话框,并提供更改、显示或删除它们的选项,请选择暂存

要保存当前工作的快照为名称,以供以后参考,请选择拍摄快照。工作副本不会被更改。例如,如果您想尝试某件事情,然后发现它不起作用,您可以丢弃更改并返回到快照的状态。

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

对提交应用操作

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

{Select a Git Commit dialog}

您可以在提交上应用以下操作

菜单项描述
存档将提交打包成ZIP或tar包。
检出以无头状态检出更改。
cherry pick将选定的更改应用到本地仓库。
恢复恢复到最后一次提交的状态。
显示在差异编辑器中显示提交。

使用远程仓库

要使用远程仓库,请选择 工具 > Git > 远程仓库

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

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

要将提交的更改推送到远程仓库,请选择 推送。如果本地分支在远程仓库中没有上游分支,Qt Creator会提示您创建它并将其设置为上游。

管理远程仓库

要管理Git中的远程仓库,请选择 工具 > Git > 远程仓库 > 管理远程仓库。双击远程仓库的名称和URL进行编辑。

支持以下操作

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

在Subversion中使用Git

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

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

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

使用Gerrit审查代码

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

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

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

要查看Gerrit Web界面中关于每个更改的相同信息,请选择 工具 > Git > 远程仓库 > Gerrit

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

要将选定的更改应用到本地存储库,请选择Cherry Pick。测试后删除更改,请选择工具 > Git > 本地存储库 > 重置。在撤销更改到对话框中,选择要重置工作目录的状态,然后选择确定

要检查出不提示的更改,请选择检出

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

远程字段列出了当前存储库的远程服务器,这些远程服务器被检测为Gerrit服务器。选择首选项 > 版本控制 > Gerrit,以指定通过SSH到Gerrit服务器的备用连接。Gerrit REST接口和curl工具用于HTTP连接。

选中HTTPS复选框,如果Gerrit没有添加,则将https添加到Gerrit URL之前。

{Gerrit preferences}

使用Git工具

要启动Git的图形界面,请选择工具 > Git > Git工具 > Git Gui

注意:在macOS上,默认的Git安装中没有Git Gui。要使用Git Gui,请单独安装。要从Qt Creator启动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工具 > 合并工具。只有当您需要解决合并冲突时,此菜单项才会可见。

另请参阅比较文件设置版本控制系统版本控制系统

©© 2024 Qt公司有限公司。本文档中包含的文档贡献是各自拥有者的版权。本提供的文档受GNU自由文档许可证版本1.3的许可,由自由软件基金会发布。Qt及其相关标志是芬兰及其它国家的Qt公司商标。所有其他商标均为各自所有者的财产。