首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无克隆的Git开发

无克隆的Git开发
EN

Stack Overflow用户
提问于 2016-11-17 03:08:36
回答 2查看 251关注 0票数 1

我对git很陌生,熟悉常规的git克隆、开发、提交、推送工作流程。在我看过的一个教程中,我注意到开发人员做了以下工作:

代码语言:javascript
复制
git init
git fetch ssh://someserver.git refs/data/val
git checkout FETCH_HEAD
.
. make changes to files
.
git commit -am "somemessage"
git push ssh://someserver.git HEAD:refs/data/val

有人能帮我解释一下:

  1. 这里遵循的是什么工作流?在不克隆的情况下这样做的原因是什么?
  2. refs/data/valgit fetch命令中的含义是什么?

注意:这并不是为了理解FETCH_HEAD是什么。所以它不是重复的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-17 11:37:31

这是一个奇怪的工作流程,在一般情况下并不是很有用。它的主要特性是使用一个特殊的引用命名空间,将refs/data/val视为分支名称。

其效果就像用--single-branch克隆,只是他克隆没有分支,然后把有趣的裁判当作一个分支对待。

git checkout步骤产生一个独立的头。

随后的提交将进行新的提交,以扩展分离的头。

最后一个git push更新另一个Git,继续将这个特殊命名的引用作为一个分支来处理。另一个Git可以自由地拒绝推送。许多人/大多数人之所以会这么做,仅仅是因为refs/data/并不是一个已知的安全推送名称空间。

由于没有命名的remote,因此为了便于合并和/或重基,远程的分支名称不能在本地存储。由于没有命名分支,因此不能为了方便提交、合并和/或重基而使用Git的内置分支行为。由于既没有命名分支,也没有命名的远程,所以不能使用Git的内置push行为,需要完全拼写的URL和HEAD到ref推送。

简而言之,这是一种非常规使用Git的不方便方法。

票数 2
EN

Stack Overflow用户

发布于 2016-11-17 03:11:57

这可能会为整个工作流提供一些洞察力:

What is the difference between pull and clone in git?

至于第二个问题,他正在从refs/data/val链接的回购处获取分支*.git。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40646066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档