【问题标题】:Custom commit messages for every different file PhpStorm + GitHub每个不同文件的自定义提交消息 PhpStorm + GitHub
【发布时间】:2017-10-12 20:11:40
【问题描述】:

这是我在 StackOverflow 上的第一个问题,因此非常感谢您提出的每一个建议。

我正在使用 PhpStorm 作为 IDE,我和我的合作伙伴正在使用 GitHub 作为版本控制系统。

每次您进行提交更改(如 push)时,Git 都允许您对更改的文件添加注释。

我们解决了问题

正如您在这张图片上看到的,我已经更改了 3 个文件(1 个 php 类文件和 2 个 twig 模板):

问题是我想为每个不同的文件添加一个提交消息,但是提交消息框只允许你用相同的评论评论每个文件。

这样做的唯一方法是分别提交每个文件,但我想要一种更快的方法。

【问题讨论】:

  • 你不能只删除复选框中的勾号吗? (不是phpstorm用户,只是猜测..这就是为什么这不是“答案”)
  • 您正在提交更改,如果更改影响多个文件,那么您应该在评论中反映这一点。
  • @meda 对版本控制的看法非常有限。此外,他不想提交所有三个更改,因为这些文件中的每一个都可能由于不同的原因而更改。
  • 你不是在提交文件,而是在提交整个工作树的快照,所以当 git 强制你为你提交的所有文件写 1 条提交消息时,这不仅仅是迟钝,但 1 次提交等于 1 次提交消息。如果该提交包含 1000 个文件,则该提交仍将有 1 条提交消息。如果您希望每个文件有 1 条提交消息,则还必须为每个文件提交 1 条。您想要一种更快的方法,但实际上...为什么?为什么要单独提交每个文件?
  • 是的,您是对的,它确实看起来很脏,但那是因为您将不相关的更改混为一谈。 是肮脏的部分。如果您修复了错误 X,这就是您的提交消息应该说的,附加到提交的文件数量是有关您修复的详细信息。另一方面,如果您的一个提交包含每个文件 1 个不相关的更改,那么您基本上没有使用源代码控制权。一次修复一件事,提交、冲洗、重复。

标签: git github phpstorm commit-message


【解决方案1】:

在 PhpStorm 中没有更快的方法。提交消息是关于您正在提交的更改,它不是特定于文件的。如果您希望每个文件有不同的提交消息,则需要将它们拆分为多个提交。加快速度的唯一可能方法是不使用 PhpStorm,而是从命令行执行(假设您已安装 git)。

首先运行 git status 以确保尚未暂存任何提交。如果有,请运行 git reset HEAD path\to\file 以取消暂存文件。

然后,您可以为每个文件添加它们(一次一个文件,一次一个文件夹,或者剩下的任何内容)并提交一条消息。注意:我使用 Linux 机器进行开发,从未尝试在 Windows 命令提示符下运行 git,但我假设命令在 Windows 上是相同的:

git add src\Controller\UserController.php
git commit -m "Commit message for UserController.php"

git add src\View\templates
git commit -m "Commit message for home.twig and publicProfile.twig"

git add .
git commit -m "Commit message for remaining files, like in web\assets\js"

git push

git push 应该为你将这 3 个提交推送到 Github。

【讨论】:

  • 正如你所说,这是一种方式,但远不是最快的方式:(
【解决方案2】:

Git 不允许为提交中的每个文件创建不同的提交消息。参见例如this threadthis

因此,如果您看到不同的消息,则需要分别提交每个文件。

【讨论】:

  • 我明白了:“Git 的哲学是跟踪‘内容’,而不是‘文件’。感谢您的链接德米特里
猜你喜欢
  • 2021-09-09
  • 2023-04-11
  • 2011-05-16
  • 2015-10-30
  • 2012-01-11
  • 1970-01-01
  • 2011-09-14
  • 1970-01-01
  • 2020-12-16
相关资源
最近更新 更多