Git,我可以在没有本地仓库的情况下进行设置吗?

Git, can I have a setup without local repo?

关于 Git 的本地 repo/remote 回购模型,我想知道是否有办法设置 Git 环境,因此它没有(需要)本地回购全部?这将有助于我们不需要团队的所有成员都熟悉 Git 的两个回购模型,并且我们始终保证与服务器上的回购(远程回购)的连接。

简短的回答是,不,它不是那样工作的。

origin/develop 是远程引用,不是分支。本地存储库中的远程引用只是一个记录,记录了您上次与该远程通信时每个分支所在的位置。从用户的角度来看,这些都是只读的。

如果您尝试按照您的建议检出 origin/develop,git 将检出引用指向的提交,但是因为没有本地分支,检出将有一个分离的头.为了以任何有意义的方式提交,您需要创建一个分支。请注意,如果您尝试这样做,您将收到此警告:

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

如果您没有收到此错误,则您在本地源命名空间中有一个本地分支。我有一个同事试图通过尝试在遥控器上创建一个分支来做到这一点:

# THIS IS NOT GOOD CODE DO NOT USE
git branch origin/branch
# THIS IS NOT GOOD CODE DO NOT USE

这会创建一个名为 origin/branch 的本地分支,而不是原始分支。他快要发疯了,因为他正在更新 origin/branch 而它没有出现在 GitHub.