在git中为每个文件附加信息并提交

33qvvth1  于 2022-12-21  发布在  Git
关注(0)|答案(1)|浏览(135)

如何在git中为每个文件附加一些信息并提交?
我的用例如下所示:
我习惯于为项目中的特定文件指定"质量级别"--比如"完成"、"已检查"、"已审核"。让我们在这个问题的其余部分坚持使用"已检查"。让我们进一步假设我的项目由文件A、B和C组成。最后,让我们使用普通的两位数,递增的数字来标识提交。
在项目开始时,没有一个文件被检查。在提交03时,我认为A值得被"检查",所以我们有:
| 文件|已检查|近期|
| - ------| - ------| - ------|
| A类|03| 03|
| 乙||03|
| C级||03|
列"Checked"表示文件被选中时的提交,列"Recent"表示最近一次接触文件的提交。
工作继续提交05,现在C被选中:
| 文件|已检查|近期|
| - ------| - ------| - ------|
| A类|03|四|
| 乙||零五|
| C级|零五|零五|
(请注意,文件A已被提交04修改!)
此时,我希望得到一份关于项目当前检查状态的报告,结果如下:

! A (03 -> 04)
- B
= C

含义:

  • 在A中未选中提交03与04之间的差异
  • B完全未选中
  • C完全检查

我检查了文件A从提交03到04的差异,发现了一些打字错误,修复了打字错误,提交了更改,并在A上将新提交06标记为"选中",结果如下图所示:
| 文件|已检查|近期|
| - ------| - ------| - ------|
| A类|零六|零六|
| 乙||零五|
| C级|零五|零五|
并在以下报告中:

= A
- B
= C

在CVS中,标签可以(ab)用来实现每个文件的质量报告,在git中,我一直在使用side-car文件来跟踪每个文件和提交的质量状态,但这感觉很笨拙,而且维护起来开销很大。
那么如何在git中以一种更自然的方式实现呢?

ajsxfq5m

ajsxfq5m1#

在git universe中,你可以通过分支和拉取请求来实现。
| 文件|已检查|近期|Git宇宙|
| - ------| - ------| - ------| - ------|
| A类|03|四|主题(功能)分支中的文件|
| 乙||零五|主题(功能)分支中的文件|
| C级|零五|零五|文件已合并到一个重要分支(通常称为main)|
文件的哪个版本已经过审核并不需要明确记录,因为在合并过程中会发现差异。合并过程通常是通过Git上运行的工具(Azure DevOps,GitLab,GitHub,BitBucket等)提供的Pull Request过程完成的。
请注意,代码变更可能有多个成熟度级别。例如:x一米一纳米一x → x一米二纳米一x → x一米三纳米一x。
Git在支持不同分支策略方面非常灵活;几乎没有流行的既定分支策略,每个策略都有其优点和痛点。
由于你是git新手,你可以使用一个已经建立的工作流,而不是自己发明一个。以下是一些流行的名字:

  1. Git流
  2. GitHub流
  3. GitLab流程

相关问题