在您将新文件添加到 Git 存储库或修改了已在 Git 版本控制下的文件并且您对它们的当前状态感到满意之后,您可以分享您的工作结果。这包括在本地提交它们以将存储库的快照记录到项目历史记录中,然后将它们推送到远程存储库,以便其他人可以使用它们。

设置你的 Git 用户名

Git 需要知道您的用户名才能将提交与身份相关联。如果您尚未设置用户名,IntelliJ IDEA 将在您首次尝试提交更改时提示您指定它。

  • 打开终端并执行以下命令之一:

    • 要为机器上的每个 Git 存储库设置名称,请使用$ git config --global user.name "John Smith"
    • 要为单个存储库设置名称,请使用$ git config user.name "John Smith"

在本地提交更改

  1. 打开位于左侧的垂直 提交工具窗口:Alt+0

1.png

  1. 当您的更改准备好提交时,请选择相应的文件或整个更改列表。

如果您按Ctrl+K,将选择整个活动更改列表。

您还可以在Unversioned Files节点下选择文件 — IntelliJ IDEA 将一步完成并提交这些文件。

  1. 如果您想将本地更改附加到最新提交而不是创建单独的提交,请选择“修改”选项。
  2. 输入提交消息。您可以单击提交消息历史按钮以从最近提交消息列表中进行选择。

您还可以稍后在推送提交之前编辑提交消息。

您可以在版本控制 |自定义提交消息规则。IDE 设置的提交Ctrl+Alt+S页面。还有一个快速修复和重新格式化操作,可以换行或重新格式化消息。

您还可以定义将用作默认提交消息的提交模板。指定要在.txt文件中使用的样板文本,然后在终端中执行以下命令将其添加到 Git 配置中:git config --local commit.template <path_to_template_file>

  1. 如果您需要执行预提交检查、提交后将文件上传到服务器或使用高级选项提交,请单击齿轮图标

2.png

可以使用以下选项:

    • 作者:如果您正在提交其他人所做的更改,您可以指定这些更改的作者。
    • Sign-off commit:选择是否要签署提交以证明您即将签入的更改已由您完成,或者您对所提交的代码负责。

    启用此选项后,以下行会自动添加到提交消息的末尾:签名者:<用户名>

    • 在Before Commit区域中,选择您希望 IntelliJ IDEA 在将所选文件提交到本地存储库之前执行的操作。

    可以使用以下选项:

    • 重新格式化代码:根据项目代码样式设置执行代码格式化。
    • 重新排列代码:根据排列规则偏好重新排列您的代码。
    • 优化导入:删除多余的导入语句。
    • 分析代码:在提交之前分析修改过的文件。单击选择配置文件以选择IDE 将运行检查的检查配置文件。
    • 检查 TODO (<filter name>):查看与指定过滤器匹配的TODO 项。单击配置以选择现有的 TODO 过滤器,或打开TODO 设置页面并定义要应用的新过滤器。
    • 清理:从代码清理检查中批量应用快速修复。单击选择配置文件以选择IDE 将运行检查的配置文件。
    • 运行测试:运行测试作为预提交检查。单击运行测试附近的选择配置,然后选择要运行的配置。
    • 更新版权:根据选定的版权配置文件-范围组合添加或更新版权声明。
    • 在“提交后”区域中,您可以选择用于将提交的文件上传到本地或远程主机、挂载的磁盘或目录的服务器访问配置或服务器组。

    可以使用以下选项:

    • 运行工具:选择您希望 IntelliJ IDEA 在提交所选更改后启动的外部工具。您可以从列表中选择一个工具,或者单击浏览按钮并在打开的外部工具对话框中配置一个外部工具。
    • 上传文件到:选择服务器访问配置或服务器组,用于将提交的文件上传到本地或远程主机、挂载的磁盘或目录。

      • 要禁止上传,请选择None。
      • 要将服务器配置添加到列表中,请单击并填写打开的“添加服务器”对话框中的必填字段。

      该列表仅在启用FTP/SFTP/WebDAV 连接插件时可用。

    • 始终使用选定的服务器或服务器组:始终将文件上传到选定的服务器或服务器组。

      该复选框仅在启用FTP/SFTP/WebDAV 连接插件时可用。

    1. 准备好后,单击Commit或Commit and Push ( Ctrl+Alt+K) 以在提交后立即将更改推送到远程存储库。在将它们推送到远程之前,您将能够查看当前提交以及所有其他提交。

    提交文件的一部分

    有时,当您进行与特定任务相关的更改时,您还会应用影响同一文件的其他不相关的代码修改。将所有此类更改包含在一个提交中可能不是一个好的选择,因为审查、还原、挑选它们等会更加困难。

    IntelliJ IDEA 允许您通过以下方式之一单独提交此类更改:

    • 选择修改后的代码块,您希望将其包含在“提交更改”对话框中的提交权中,并保留其他更改待处理,以便您稍后提交它们。
    • 当您编辑代码时,将不同的代码块即时放入不同的更改列表中,然后分别提交这些更改列表。

    您还可以创建一个新的更改列表并使其处于活动状态,然后您之后所做的所有更改都将落入该更改列表中,而您之前所做的任何修改都将保留在原处。

    选择要提交的块

    1. 打开垂直 提交工具窗口Alt+0。
    2. 要显示存储库版本与所选文件的本地版本之间的差异,请在 提交工具窗口Alt+0中,单击差异图标工具栏上的 或按Ctrl+D。
    3. 选中您要提交的每个修改或新添加的代码块旁边的复选框,并保持其他更改未选中:

    3.png

    您还可以从已修改块的上下文菜单中选择移动到另一个变更列表,以在您可以单独提交的不同变更列表之间拆分更改。

    要为此操作分配自定义快捷方式,请在 IDE settings的Keymap页面上的Version Control Systems下查找Move Lines to Another Changelist操作。Ctrl+Alt+S

    1. 单击提交。未选择的更改将保留在当前更改列表中,以便您可以单独提交它们。

    将更改放入不同的更改列表

    1. 在编辑器中对文件进行更改时,单击装订线中相应的更改标记。

    如果装订线中没有更改标记,请确保在编辑器 |上启用了在装订线中突出显示修改的行选项。IDE 设置的常规Ctrl+Alt+S页面。

    1. 在出现的工具栏中,选择修改后的代码块的目标变更列表(或创建一个新的变更列表):

    4.png

    1. 分别提交每个更改列表。

    使用 Git 暂存区提交更改

    如果您更习惯

    于提交暂存更改的概念,而不是使用自动暂存已修改文件的更改列表,请选择版本控制 | 中的启用暂存区域选项。IDE设置的GitCtrl+Alt+S页面。

    提交工具窗口现在如下所示:

    5.png

    使用暂存区域可以让您轻松地分别提交对同一文件的更改(包括重叠更改),并查看哪些更改已经暂存,而无需从编辑器切换焦点。

    当您从使用变更列表切换到 Git 暂存区域时,所有现有的变更列表都将被删除,因此请确保您已提交或搁置它们以防止丢失数据。

    提交的阶段更改

    1. 执行以下操作之一:

      • 要暂存整个文件,在 提交工具窗口Alt+0中,选择该文件并单击添加按钮它旁边的右侧或按Ctrl+Alt+A。

    6.png

    7.png

     分阶段的更改(包括从 IntelliJ IDEA 外部分阶段的更改)在编辑器中用边框形状的更改标记进行标记:
    

    8.png

    • 要像单行而不是代码块那样暂存粒度更改,或者甚至是对单行的多个更改之一,请在“ 提交工具”窗口Alt+0中,选择包含更改的文件,然后从上下文菜单。

      这将打开一个三向差异查看器,其中左窗格显示存储库版本,右窗格显示本地版本,中央窗格是一个功能齐全的编辑器,您可以在其中进行您想要暂存的更改。

    9.png

    1. 准备就绪后,按照在本地提交更改中所述提交更改。

    将更改推送到远程存储库

    在推送您的更改之前,请与远程同步并确保您的存储库的本地副本是最新的以避免冲突。

    IntelliJ IDEA 允许您将更改从任何分支上传到其跟踪的分支或任何其他远程分支。

    1. 执行以下操作之一:

      • 要从当前分支推送更改,请按Ctrl+Shift+K或选择 Git | 从主菜单按。
      • 要从具有远程的任何本地分支推送更改,请在“分支”弹出窗口中选择此分支,然后从操作列表中选择“推送”。

    Push Commits 对话框打开,显示所有 Git 存储库(用于多存储库项目)并列出自上次推送以来在每个存储库的当前分支中所做的所有提交。

    如果您的项目使用多个不同步控制的仓库,默认只选择当前仓库。

    您可以按下Ctrl+Q所选提交以显示额外信息,例如提交作者、时间、哈希和提交消息。

    1. 如果存储库中没有远程,则会出现定义远程链接。单击此链接并在打开的对话框中指定远程名称和 URL。它将被保存,您可以稍后通过 Git |编辑它 管理遥控器。
    2. 如果要修改要推送的目标分支,可以点击分支名称。标签变成一个文本字段,您可以在其中键入现有分支名称或创建新分支。您还可以单击右下角的编辑所有目标链接以同时编辑所有分支名称。

    请注意,您不能更改本地分支:将推送每个选定存储库的当前分支。

    您也可以通过按Enter或切换到编辑模式F2选择元素。

    1. 如果您已经提交了一些提交但还不想推送到远程分支,请在Git工具窗口的“日志”选项卡中选择要推送的最后一个提交,然后从列表中选择“全部推送到此处...”选项行动。

    Push Commits对话框打开,显示直到选定提交哈希的所有提交。

    1. 如果您想在推送更改之前预览更改,请选择所需的提交。右侧窗格显示所选提交中包含的更改。您可以使用工具栏按钮来检查提交详细信息。

    如果提交的作者与当前用户不同,则此提交用星号标记。

    如果您选择整个存储库,则所有提交的所有文件都将列在右窗格中。

    如果在多个提交中修改了同一个文件,则如果您选择这些提交或整个存储库,它将仅列出一次,并且如果您为此文件调用差异查看器,所有更改将被压缩在一起。

    1. 准备好后单击Push按钮,然后从下拉菜单中选择要执行的操作:Push或Force push(相当于push --force-with-lease)。

    这些选项仅在当前分支未列在受保护的分支字段中时可用,否则,您只能执行该push操作。

    如果推送被拒绝,请更新您的工作副本

    如果由于您的工作副本已过时而拒绝推送,IntelliJ IDEA 将显示Push Rejected对话框,前提是未选择Settings/Preferences对话框的Git 设置页面中的Auto-update if 推送当前分支被拒绝选项。请执行下列操作:

    1. 如果您的项目使用多个 Git 存储库,请指定要更新其中的哪些。如果要更新所有存储库,无论推送是否被拒绝,请选择更新所有存储库选项。如果清除此选项,将仅更新受影响的存储库。
    2. 如果您希望 IntelliJ IDEA 在下次推送被拒绝时使用您在此对话框中选择的更新方法静默应用更新过程,请选择记住更新方法选项并在将来静默更新选项。

    离开此对话框后,设置/首选项对话框的Git 设置页面中的自动更新如果当前分支的推送被拒绝复选框将被选中,并且应用的更新方法将成为默认方法。

    要更改更新策略,请取消选择此选项以在下一次拒绝当前分支的推送时调用Push Rejected对话框,应用不同的更新过程,然后再次选择记住更新方法选项选项。

    1. 通过分别单击Rebase或Merge按钮选择更新方法。

    我什么时候需要使用强制推送?

    当您运行push时,如果远程存储库有您丢失的更改并且您将使用存储库的本地副本覆盖,Git 将拒绝完成操作。通常,您需要先执行pull以与远程同步,然后再使用您的更改进行更新。

    --force push命令禁用此检查并允许您覆盖远程存储库,从而擦除其历史记录并导致数据丢失。在幕后,当您选择强制推送时,IntelliJ IDEA 会执行push --force-with-lease操作,这是一个更安全的选项,可帮助您确保不会覆盖其他人的提交。

    您可能仍需要执行的一种可能情况--force push是,当您对推送的分支进行变基,然后想要将其推送到远程服务器时。在这种情况下,当您尝试推送时,Git 将拒绝您的更改,因为远程 ref 不是本地 ref 的祖先。如果您在这种情况下执行拉取操作,您最终会得到两个分支副本,然后您需要合并它们。

    标签: idea破解, idea激活码, IDEA, IDEA主题, IDEA教程, idea破解插件, idea注册码, idea注册码2021, idea注册码2022, idea注册码失效, idea注册码永久, idea注册码在线生成, idea破解教程, IDEA基础教程, IDEA高级教程, IDEA核心教程, IDEA插件, IDEA入门教程