通过推送共享代码
本文内容
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
通过将所做的更改上传到其他人可访问的远程存储库,可以在本地 Git 存储库分支 上共享工作。 Git push 命令将新的提交 从本地分支上传到远程存储库的相应分支。 如果选择将工作与远程存储库同步 ,Visual Studio 将使用 push 命令。
有关 Git 工作流的概述,请参阅 Azure Repos Git 教程 。
推送代码
在将一个或多个提交添加到本地分支 后,你可以将提交“推送”到远程分支以共享或备份工作。 当你使用 push 命令时,Git 将检查本地分支是否与远程分支同步。 如果不同步,在更新本地分支之前,Git 将阻止你推送新提交。 要解决此问题,你可以拉取 以获取在本地分支中不存在的远程分支提交。 如果拉取的远程提交与本地提交冲突 ,请尝试在推送所做的更改之前解决这些冲突。
要使 Git push 命令起作用,本地存储库必须连接到远程 Git 存储库。 如果从远程仓库克隆了本地存储库,那么它们已经连接。 但如果你在没有克隆的情况下创建了本地存储库,则需要将其连接到托管的 Git 存储库。 有关详细信息,请参阅连接到 Azure Repos Git 存储库 和连接到 GitHub 存储库 。
提示
要支持对工作进行拉取请求 审查,请避免直接在本地存储库的 main
分支中工作, 而是将提交保存到本地功能分支或 bug 修复分支,并在完成工作后推送该分支。 有关 Git 工作流的概述,请参阅 Azure Repos Git 教程 。
Visual Studio 2022 通过使用“Git”菜单、“Git 更改”和“解决方案资源管理器”中的上下文菜单提供 Git 版本控制体验。 Visual Studio 2019 版本 16.8 还提供了团队资源管理器 Git 用户界面。 有关详细信息,请参阅“Visual Studio 2019 - 团队资源管理器”选项卡。
在“Git 更改”窗口中,选择向上箭头按钮以推送提交。
你也可以从“Git 存储库”窗口推送所做的更改。 要打开“Git 存储库”窗口,请在“Git 更改”窗口中选择传出/传入链接。
你也可以从菜单栏上的“Git”菜单推送所做的更改。
Visual Studio 2019 版本 16.8 及更高版本提供 Git 版本控制体验,同时保留团队资源管理器 Git 用户界面。 要使用团队资源管理器,请从菜单栏中取消选中“工具”>“选项”>“预览功能”>“新 Git 用户体验”。 可以互换使用任一界面中的 Git 功能。
在“团队资源管理器”中,选择“主页”,然后选择“同步”以打开“同步”。
你还可以在进行提交后立即选择“同步”,从“更改”转到“同步”视图。
在“同步”视图中,选择“推送”将提交上传到远程存储库。 如果这是你第一次推送到存储库,你将看到消息 The current branch does not track a remote branch...
,该消息告知你已将提交推送到远程存储库上的新分支,并且从当前分支推送的未来提交将上传到该远程分支。
虽然你应该很少需要将本地分支推送到不同名称的远程分支,但你可以使用未缩写的 Git push 命令来执行此操作:
git push <remote repo> <local branch name>:<remote branch name>
要将新提交从本地分支推送到同名远程分支,请运行以下精简 push 命令。 如果远程存储库没有同名分支,此命令将创建与本地分支具有相同名称和提交的新远程分支。
git push <remote repo> <local branch name>
当你克隆远程存储库时,Git 将别名 origin
指定为克隆的远程存储库的 URL 的简写形式。 运行 git remote -v
以检查 origin
别名值。 要手动添加 origin
别名,请运行 git remote add origin <remote repo url>
。 使用 origin
别名,你可以进一步精简 push 命令:
git push origin <local branch name>
要将新提交从当前的本地分支推送到同名远程分支,请运行以下精简 push 命令。 如果远程远程库没有同名分支,则此命令将失败。
git push origin
如果当前的本地分支跟踪 origin
上的远程分支,则你可以完全缩写 push 命令:
git push
但是,如果本地分支不跟踪远程分支,则完全缩写的 push 命令将失败。 运行 git remote show origin
以检查分支的跟踪状态。 要推送 和 ,请将当前的本地分支设置为跟踪 origin
上的同名远程分支,请运行一次 git push --set-upstream origin <local branch name>
。 --set-upstream
标志将创建同名远程分支(如果它不存在)。
在本地功能(或 bug 修复)分支上工作时,通常的做法是使用 main
分支中的最新更改定期更新分支。 功能分支的本地和远程提交历史记录因具体操作方式而异,从而导致 Git push 命令返回错误。 如果你是唯一推送到远程功能分支的人,并且你确定本地功能分支包含所需的所有工作,你可以使用带有 --force
标志的 Git push 命令将远程功能分支上的所有提交替换为本地功能分支中的提交。 有关 Git push 命令(包括其他 force
选项)的详细信息,请参阅 Git 引用手册 。
推送提交后,你可以创建拉取请求 ,让其他人知道你希望审阅所做的更改。 如果获得批准,所做的更改将合并到远程存储库的目标分支中。
后续步骤
相关文章