Rom*_*kin 11 git visual-studio-code
VsCode 用绿色突出显示尚未提交到 git 存储库的代码行(左侧约 2px 垂直条纹)。
这非常方便,但我喜欢这样做git add . && git commit -m "Save"来保存我的进度。所以这个突出显示会下降。
我在自己的分支中进行所有更改。VsCode 有没有办法突出显示当前分支中已修改的代码行?
可能没有办法做到这一点。这也不是 VsCode 特有的,如果任何编辑器都可以做到这一点,我会感到惊讶,因为这不是 git 的工作方式。提交不“属于”分支。“当前分支中修改的内容”取决于您将当前分支与什么进行比较。
存储库中的所有提交不是“属于”分支,而是形成一个树*结构,并且分支仅指向该树上的一个位置。
考虑以下 2 个示例:
A---B---C---D master
\
E---F feature1
\
G---H feature2
Run Code Online (Sandbox Code Playgroud)
I---J---K---L master
\
\ O feature3
\ /
M---N
\
P feature4
Run Code Online (Sandbox Code Playgroud)
提交 E 和 F 属于哪个分支?我们应该将 feature2 与什么进行比较?我们应该将 feature2 与 F 进行比较吗?D?乙?
M和N属于哪个分支?我们应该将 feature3 与什么进行比较?尼?L?杰?
希望您能看到,说 E、F、M 或 N“属于”任何一个分支都是不太正确的。相反,我们可以说 E 和 F 包含在特征 1 和特征 2 中,或者 M 和 N 包含在特征 3 和特征 4 中。
对于将 feature2 和 feature3 与什么进行比较的问题也没有“正确”答案。答案将取决于您提出问题的上下文,例如 E、F、M 和 N 的内容是什么,以及您想了解 feature2 和 feature3 的哪些内容。
无论您要查找什么上下文和信息,您都可以从命令行向 git 询问该信息。请参阅例如获取 git 分支中已修改的所有文件,git - 自创建以来对分支的更改?,以及如何获取 Git 中分支的更改。然而,在编辑器中显示该信息的自动化过程是另一回事。
现在回到你的问题,编辑不知道在上面的例子中我给出了你正在寻找的东西。理论上,编辑器可以提供可配置的设置。不要总是显示未暂存和未提交的更改(即将工作树与 HEAD 进行比较),也许您可以告诉它始终将工作树与 origin/master 和 HEAD 的合并基础进行比较,但我不知道有任何编辑器会这样做提供这样一个选项。这样的选项也可能会遇到一些奇怪的边缘情况,例如当提交没有共同的祖先时。
*:如果你想了解技术并且了解一点图论,它实际上不是一棵树,而是一个有向无环图,因为提交之间的父子关系是不对称的(即图的边是有向的),提交可以有多个一个父提交(合并提交),并且您可以有多个根提交(没有父提交)。
| 归档时间: |
|
| 查看次数: |
1181 次 |
| 最近记录: |