如何使用 VCS 解决方案(如 SVN 或 git)来标记特定文件的版本?

jak*_*115 1 git commit version

所以我开始使用版本控制系统 (VCS) 来跟踪我不断增长的代码堆,并正在试验 SVN 和 git。非常基本的命令非常相似,因此我将仅使用 SVN 作为示例。

假设我有一个包含一些文件的仓库。更改文件后,我提交更改如下:

svn commit -m "altered the regex to parse properly"
Run Code Online (Sandbox Code Playgroud)

这将提交我的更改并添加提交消息。但是,如果我刚刚更改了 3 个不同的脚本,如何为每个文件添加个性化的提交消息呢?

同样,作为一个版本控制系统,我想实际跟踪脚本版本号。假设我从 1.0.0 版开始,如何在提交时将更改后的脚本标记为 v1.0.1?

所以基本上,如果有人能告诉我如何在提交时跟踪每个文件的日志消息和版本更改,我将非常感激。谢谢!

all*_*tic 5

如果要按file保留正在运行的更改日志,则您需要:

  • 在源树中创建一个 ChangeLog 纯文本文件,并在其中键入每个文件所需的任何信息(日期、时间、提交 ID、摘要等)

  • 在每次提交中一次只提交一个文件,这样您就可以在版本控制文件中看到提交历史记录,其中列出了每个文件的单独更改。但是,这可能会导致您的代码状态不一致,这意味着如果您更改两个相互依赖的文件,并且仅更改一个文件会导致错误,那么您的代码中的提交将被破坏。

VCS 本身通常不支持每个文件的提交日志,同时仍然具有包含多个文件的提交。但是,您可以在多文件提交中的每个文件更改的描述之间添加一个新行。像这样的东西:

Summary: Various bug fixes and updates for Flummox 1.5.2.

file1.c: Updated Flummox API for Flummox 1.5.2.
file2.c: Fix a string formatting buffer overflow.
file3.c: Use new Flummox Advanced Regex engine.
Run Code Online (Sandbox Code Playgroud)

大多数人在一次提交中提交每个逻辑上隔离的更改,无论它影响 1 个文件还是 1000 个。