【问题标题】:Shifting from one git repo to another via command line通过命令行从一个 git repo 转移到另一个
【发布时间】:2021-09-21 17:46:14
【问题描述】:

假设我有两个存储库,我经常与之交互。例如,repo1repo2。假设我刚刚提交并推送了对 repo1 的更改,但现在我在 repo2 中有工作要做。

在幕后,git 是如何意识到我不再与 repo1 交互,而是现在与 repo2 交互? (是否像导航到repo2的本地分支所在的目录一样简单?)我是否需要使用一些命令行语言告诉git我正在将焦点转移到repo2?

【问题讨论】:

    标签: git github directory


    【解决方案1】:

    默认情况下,Git 根据调用它的目录对存储库执行自动发现。执行自动发现时,它会在当前目录中查找是否有 .git 文件夹或 gitlink,如果没有,则重复父目录的进程,依此类推,直到它到达文件系统的根目录或挂载点。如果找到存储库,它将包含适当的.git 条目的目录设置为工作树的根目录,并将.git 文件夹设置为 git 目录。

    您可以使用-C 标志来选择基于不同目录进行自动发现工作,该标志必须位于命令名称之前(例如,git -C DIR status),您还可以使用命令行选项或显式指定目录环境变量。当您想要操作子模块或其他存储库但不想更改目录时,这些可能很有用。

    但是,这些大多是不寻常的情况,并且在大多数情况下,Git 会根据当前目录来确定存储库。因此,将焦点转移到 repo2 就像更改到 repo2 中的某个目录一样简单。在 Unix 上,它就像 cd ~/checkouts/repo2 这样简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 2011-06-07
      • 1970-01-01
      • 2011-11-01
      • 1970-01-01
      • 2011-05-20
      相关资源
      最近更新 更多