源代码控制常见问题
本主题回答了在Visual Studio Code中使用Git源代码控制和GitHub时经常遇到的问题。
吉特
如何撤销或取消Git提交?
使用Git: 撤销上次提交命令撤销你上次的提交。这将把你的分支恢复到提交之前的状态,包括所有更改。该命令也可以在更多操作的菜单中找到。 请输入具体的网页文本内容,以便我进行翻译。 在 提交 于源代码控制视图的顶部。
如何重命名本地分支?
Git: 重命名分支… 命令将提示您输入新名称。
如何在提交之前撤销git add?
添加的文件列在暂存更改中,可以使用-图标或通过拖放取消暂存。
如何编辑最近的提交信息?
要更新最近的本地提交信息,请使用 Git: 提交暂存(修改) 命令。它将打开一个编辑器来编辑并保存最近的提交信息。确保没有其他更改被暂存,因为它们将包含在提交中。
我初始化了我的仓库,但 actions 在请输入具体的网页文本内容,以便我进行翻译。菜单全部灰掉
推送、拉取和同步 需要设置Git origin。 你可以从仓库主机获取所需的URL。 一旦你有了那个URL,你需要通过运行一些命令行操作将它添加到Git设置中。 例如:
> git remote add origin https://github.com/<仓库所有者>/<仓库名称>.git
> git push -u origin main
我的团队正在使用 Team Foundation Version Control (TFVC) 而不是 Git。我该怎么办?
使用 Azure Repos 扩展,这将启用 TFVC 支持。
为什么Pull、Push和Sync操作永远不会完成?
这通常意味着在Git中没有配置凭证管理,并且由于某种原因,您没有收到凭证提示。
您可以始终设置凭证助手,以便在从远程服务器拉取和推送时无需每次都输入您的凭证。
如何使用我的 Azure DevOps 组织登录 Git,该组织需要多因素身份验证?
Git Credential Manager (GCM) 是推荐的用于 Windows、macOS 和 Linux 的 Git 凭据助手。如果你正在运行 Git for Windows,GCM 已经为你安装和配置好了。如果你正在运行 macOS 或 Linux,GCM README 中有设置说明。
我在我电脑上安装了 GitHub Desktop,但 VS Code 却无视它。
VS Code 仅支持 官方的 Git 发行版 用于其 Git 集成。
每当我运行 VS Code 时,总是出现 Git 认证对话框。
VS Code 自动从服务器获取更改,以便向您展示即将到来的更改摘要。Git 认证对话框独立于 VS Code 本身,并且是您当前的 Git 凭据助手的一部分。
避免这些提示的一种方法是设置一个凭证助手,它可以记住你的凭证。
另一个选项是通过更改以下设置来禁用自动获取功能:"git.autofetch": false输入:.
为什么 VS Code 警告我说 git 仓库可能是不安全的?
VS Code 使用git.exe 执行所有 Git 操作。从 Git 2.35.2 版本开始,用户被阻止在由除当前用户以外的用户拥有的文件夹中的仓库中运行 Git 操作,因为该仓库被认为可能是不安全的。
如果你尝试打开这样的存储库,VS Code 将在源代码控制视图中显示欢迎视图或错误通知。欢迎视图和通知都包含管理不安全的存储库命令,允许你查看潜在的不安全存储库列表,将它们标记为安全并打开它们。 管理不安全的存储库命令在命令面板中也可用 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。将存储库标记为安全会将存储库位置添加到安全目录 git 配置.
在 Windows 系统中,这种情况常见的场景是:当使用一个应用程序(例如,Windows Terminal 或 VS Code)以“管理员身份”运行来克隆一个仓库,但使用另一个应用程序或实例(例如,VS Code)以非“管理员身份”打开该仓库时。
为什么 VS Code 没有在工作区或打开文件的父文件夹中发现 Git 仓库?
VS Code 使用git rev-parse --show-toplevel确定Git仓库的根目录。在大多数情况下,Git仓库的根目录在工作区内部,但也有一些情况,Git仓库的根目录在工作区的父文件夹或打开的文件中。虽然在工作区的父文件夹或打开的文件中打开Git仓库是一个对高级用户非常有用的功能,但对新用户来说可能会令人困惑。我们已经看到过这种困惑导致从这些Git仓库中丢弃更改,从而造成数据丢失的情况。
为了避免混淆并减少数据丢失的风险,VS Code将在源代码控制视图中显示通知和一个新的欢迎视图,并且不会自动打开工作区的父文件夹和打开文件的Git仓库。
您可以使用以下方法控制父文件夹中的Git仓库的处理方式
总是输入:.
我可以用 SSH Git 认证与 VS Code 一起使用吗?
是的,尽管 VS Code 可以轻松使用没有密码的 SSH 密钥。如果你有一个带有密码的 SSH 密钥,你需要从 Git Bash 提示符启动 VS Code 以继承其 SSH 环境。
GitHub
GitHub Enterprise 受支持吗?
VS Code 对使用 GitHub Enterprise Servers 进行身份验证提供了官方支持。打开一个 GHES 仓库的本地检出,系统将提示您使用您的 GitHub Enterprise Server 账户登录。
故障排除
有关诊断和解决Git问题的帮助,请参阅故障排除指南。该指南涵盖了使用Git输出日志和启用详细诊断信息的跟踪日志。