当前打开的文件夹没有Git仓库。

10
我在使用一台安装有 Windows 操作系统的工作 PC,但我习惯于使用 Ubuntu 操作系统开发 Rails。我已经使用 WSL 在 VSCode 中安装好了所有必要的工具, 还安装了 Git for Windows,但问题是源代码控制面板未检测到任何内容并只显示如下信息: Screenshot of Source Control Panel in VS Code 请问我该如何解决这个问题?以下是我的安装参考信息:
- Visual Studio Code https://code.visualstudio.com/ - WSL https://learn.microsoft.com/en-us/windows/wsl/install - Git https://git-scm.com/download/win

你在 VS Code 中打开了哪个文件夹?它里面是否实际包含一个 .git 文件夹? - carlfriedrich
我打开了之前克隆的仓库文件夹,是的,里面确实有.git文件夹。 - JM Arenas
嗯...也许你可以在问题中添加更多细节。VS Code的资源管理器是否正确显示文件夹?你是在哪里以及如何克隆存储库的?你是否在连接到WSL的远程模式下使用VS Code?也许添加一张完整的VS Code窗口截图会更好。 - carlfriedrich
7个回答

16

您需要使用推荐命令将repo目录添加为安全目录:

git config --global --add safe.directory 'path/to/repo'

您也可以信任任何目录(但这并不是真正推荐的做法)

git config --global --add safe.directory *

如果您遇到类似以下错误:

error "fatal: bad config file line 1 in .git/config" 

请查看27073427的回答。


当我执行 git config --global --add safe.directory * 时,出现了 error: wrong number of arguments, should be 2 的错误提示。 - m4l490n
git config --global --add safe.directory '*' - Nemolovich

6

这个变化可能来自GIT安全更新

.git文件夹的所有者与您使用VS Code的用户不同,因此该存储库将不会在VS Code中显示。

您可以按照以下步骤在Windows上更改权限:

右键单击文件夹 -> 属性 -> 安全性 -> 高级选项

在此处,您可以更改所有者或添加其他用户。

更改权限后,您必须重新启动VS Code。现在,所有存储库应该再次显示。


需要同时更改.git文件夹的父文件夹的权限。 - user3930098

0
我在一台远程的Linux服务器上工作,遇到了同样的问题。我删除了本地的'.vscode-server'文件夹(例如,rm -rf /home/[user]/.vscode-server),下次重新连接时,让VS Code重新初始化。

0
如果您正在使用Mac,这可能会有所帮助-- 在本地用户目录中打开您的.bash_profile文件,然后添加路径"/usr/local/bin/git"。您可以在vi中打开.bash_profile并键入PATH="/usr/local/bin/git",然后保存。

0

@TWege的解决方案对我很有用。我关闭了新的远程开发容器,然后重新打开它,这样VSCode就能识别我检出的分支了。

配置: Windows 11;WSL2;VSCode;使用Docker-in-Docker的远程容器开发;与分支相关联的Github问题;

步骤:

  1. Github:创建了带有README.md的Github存储库
  2. Github:添加了设置本地VSCode机器上的.devcontainers问题的问题
  3. Github:创建与.devcontainer问题相关联的分支(记得复制创建此分支后呈现的两个命令[git fetch origin; git checkout [new branch name]])
  4. VSCode:将远程存储库克隆到我的本地驱动器中,然后在VSCode中打开它
  5. VSCode:添加“开发容器配置文件”(对于Python 3,我添加了Git、SSH服务器和docker-in-docker)
  6. VSCode:编辑.devcontainer json和Docker文件(例如,将端口转发到本地机器)
  7. Git(在VSCode终端中-请注意,您仍在Windows或WSL2主机Linux中):添加、提交并推送所有更改(.devcontainer文件)到origin
  8. Git:git会提示您该存储库归某人所有,因此并向您呈现运行此命令的命令:(git config --global --add safe.directory 'path/to/repo')
  9. VSCode:“在容器中打开”
  10. Git(在新的远程容器中):现在使用您在创建新分支时收到的两个命令
  11. Githup:[git fetch origin; git checkout [new branch name]]
  12. VSCode:关闭远程连接VSCode:重新启动本地VSCode
  13. VSCode:打开您刚刚创建的新远程容器。

现在,您应该能够看到新分支检出的 git 信息。


0

1 对于Windows系统,请打开C:\Users\yourusername\.gitconfig

2 在[safe]部分中添加您的项目路径,例如:

[safe]
  directory = D:/path/to/your-project

3 重新启动 VSCode


-2

我曾经遇到过同样的问题,后来我以管理员身份运行了VSCode,问题就解决了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接