终端 Git 跟踪与 VS Code git 跟踪不同步
Posted
技术标签:
【中文标题】终端 Git 跟踪与 VS Code git 跟踪不同步【英文标题】:Terminal Git tracking vs VS Code git tracking is not in sync 【发布时间】:2021-09-15 05:53:40 【问题描述】:当我从终端添加、修改或删除文件时(我正在使用 iTerm2 -oh my zsh-git 扩展)暂存它们并提交它们,它不会反映在我的 VS 代码 git 跟踪中。
我在 VS 代码中的源代码控制部分仍然说更改不是使用 git 暂存或跟踪的。 而且我必须再次上演并提交它们。
当我在 VS 代码中打开终端并检查 git config --list
时,iTerm2 终端和 VS 代码终端都显示相同的配置列表。
当我从两个单独的终端检查时,日志和历史记录也是相同的。
只是当我从我的任何一个 iterm2 终端或从 VS Code 暂存或提交时,如果其他终端这样做,他们都不会认为更改已暂存或提交,并且仍然显示彼此未跟踪或未提交。
以前有人遇到过这样的问题吗?与 VS Code Git 设置有关吗?
【问题讨论】:
如果您在一个文件中编辑文件,然后在另一个文件中查看会发生什么?即使git status
没有显示任何更改,您是否可以看到您对另一个所做的编辑?
是的,我可以看到文件的变化
【参考方案1】:
以前有人遇到过这样的问题吗?
不,如果您确实使用 VSCode 进行了 another 提交,那么在使用 iTerm2 进行提交之后,git log
将无法向您显示相同的提交 (SHA1),因为提交元数据是它的创建日期。
尝试添加GitLens,以查看有关本地 Git 存储库的更多信息。
还要检查任何 GIT_xxx
环境变量(例如与 Repository location 相关的变量——GIT_DIR
、GIT_WORK_TREE
),这可能解释了为什么默认情况下看不到 Git 存储库。
【讨论】:
确实如此,请参阅原始问题中添加的屏幕截图。感谢您提供 gitLens 参考和命令。我会试试看我的配置是否有问题。 @VaibhavChawalegit status
确实不同,但我指的是两个git commit
,它会给你两个不同的SHA1。
嗨@VonC - 我得到“git var GIT_AUTHOR_IDENT”命令的两个不同结果。两个结果具有相同的用户名和电子邮件 ID,但数值不同。第一个是“1625420409 -0500”,第二个是“1625337346 -0500”。你知道那是什么意思吗?我是否需要更新 gitconfig 或其他东西以使两个终端作者相同?
@VaibhavChawale 这些应该是一样的。在两个环境中尝试git config -l --show-scope --show-origin
,看看 Git 是否引用了相同的配置文件集。
两者都返回相同的值。以上是关于终端 Git 跟踪与 VS Code git 跟踪不同步的主要内容,如果未能解决你的问题,请参考以下文章
在 VS Code 中使用 Git Bash 终端 - 如何强制它在内部打开