git 是本地分支还是远程分支?

Is this git branch local or remote?

我已将 U 盘设置为遥控器。现在,当我执行 git branch 时,我得到以下信息:

dev/app/menus
master
usb/dev/app/banner
usb/dev/app/menus

如何访问 usb/dev/app/banner

我需要先拉取还是取回?

现在是本地的还是远程的? (即,如果我拔出 USB 记忆棒,我可以合并该代码)。

您可以像访问任何其他分支机构一样访问它。

git checkout usb/dev/app/banner

默认情况下,git branch 不会显示任何远程分支。如果只想查看远程分支,则必须将 -r 标志添加到命令中。

usb/dev/app/banner 是本地的,你可以 运行 通常的 checkout 即使你没有连接到远程(你的 U 盘在别处)。

为了使本地分支 usb/dev/app/banner 与 U 盘上的内容保持同步,请使用 fetch:

git fetch usb dev/app/banner

这将从您的远程 usb、分支 dev/app/banner 获取最新提交,并通过 usb/dev/app/bannerFETCH_HEAD 在本地访问它们。你可以拔掉 U 盘,提交就在这里。您可以在任何地方合并 usb/dev/app/banner


附加信息:

如果您想从远程获取最新的提交并从那里继续工作,我建议您创建一个本地分支:

git fetch usb dev/app/banner
git checkout FETCH_HEAD
git checkout -b dev/app/banner

usb/dev/app/banner(远程分支)工作是没有意义的,你应该让它反映远程的状态,而在本地 dev/app/banner 工作。我不确定是否有可能提交 usb/dev/app/banner

获取一个远程分支,检查它,并从中创建一个本地分支是一个相当常见的场景(上面的三个命令)所以有一个简写版本:

git fetch usb dev/app/banner:<local_branch_name>

我通常为 <local_branch_name> 使用与远程仓库相同的名称,因此我在本地有:

  • usb/dev/app/banner:远程分支,U盘上的镜像,
  • dev/app/banner:我提交的本地分支。

当您准备好在 dev/app/banner 中发布提交时,您将推送到您的 U 盘:

git push usb dev/app/banner

(首先您需要获取 U 盘上可能存在但本地存储库中尚未存在的最新更改)