我有一个master和一个development分支,都推到了GitHub.我cloneð,pullED和fetchED,但我仍然无法获得比其他任何master分支回来.
我确定我错过了一些明显的东西,但是我已经阅读了手册,而且我一点也不开心.
如何将"普通"Git存储库转换为裸存储库?
主要区别似乎是:
在普通的git存储库中,您.git在存储库中有一个包含所有相关数据的文件夹,而所有其他文件都构建了您的工作副本
在一个简单的Git存储库中,没有工作副本,文件夹(让我们称之为repo.git)包含实际的存储库数据
git version-control git-clone git-bare git-non-bare-repository
我的git存储库中有一些旧的分支,不再处于活动开发状态.我想存档分支,以便它们在运行git branch -l -r时默认不显示.我不想删除它们,因为我想保留历史记录.我怎样才能做到这一点?
我知道可以在refs/heads之外创建一个ref.例如,refs/archive/old_branch.这样做会有什么后果吗?
在git中,是否可以创建存储,将存储推送到远程存储库,在另一台计算机上检索存储,并应用存储?
或者是我的选择:
我创建了一个git存储库来镜像一个实时站点(这是一个非裸的git存储库):
git clone --mirror ssh://user@example.com/path/to/repo
Run Code Online (Sandbox Code Playgroud)
现在,要保持此镜像克隆更新其远程源的所有更改,我必须使用哪个或哪些命令?
我想保持一切更新:提交,引用,钩子,分支等.
谢谢!
假设我已经使用以下方法将Git存储库克隆到我的本地磁盘:
git clone username@git.example.com:someproject.git
Run Code Online (Sandbox Code Playgroud)
现在假设git.example.com没有得到支持,它会在荣耀的火焰中消失.我的克隆是否包含重建丢失的远程仓库所需的所有内容?Git Magic的Ultimate Backups部分表明答案是肯定的,但我不清楚.
请注意,我不是在问"我的本地克隆是否是master分支的足够备份?" 我问我的本地克隆是否可以被视为远程仓库中包含的所有内容的完整备份; 所有分支,所有标签,一切.例如,那些未在本地仓库中跟踪的远程分支呢?
为了进一步混淆这个问题,存在git clone --mirror意味着我不应该将我的本地克隆视为远程仓库的完整备份.
我对版本控制的术语或实践和程序不是很熟悉.
这是我想要做的:
我想从Internet下载git存储库中的文件夹.克隆是正确的方法吗?不会克隆保留不必要的元数据文件?有没有办法做一个"干净"的下载?
我想设置一个本地存储库,其中包含我现在可以使用版本控制的文件夹.也就是说,当我进行提交时,我的本地存储库会更新.
最后,我希望可以在本地网络上访问本地存储库,以便我也可以从LAN上的任何其他计算机上下载它.
我正在关注此文档:https: //help.github.com/articles/duplicating-a-repository/
git clone --mirror https://github.com/exampleuser/repository-to-mirror.git
cd repository-to-mirror.git
git push --mirror https://github.com/exampleuser/mirrored
Run Code Online (Sandbox Code Playgroud)
输出显示存储库是作为镜像推送的,但由于某种原因我也遇到了这些错误:
! [remote rejected] refs/pull/1/head -> refs/pull/1/head (deny updating a hidden ref)
! [remote rejected] refs/pull/1/merge -> refs/pull/1/merge (deny updating a hidden ref)
Run Code Online (Sandbox Code Playgroud)
这些错误是什么?我可以假设存储库已镜像吗?
假设您有一个具有中央主git存储库的场景,开发人员和CI引擎可以从中进行克隆.即非常接近传统的非分布式版本控制系统设置,具有中央集线器和许多节点.
现在说服务器被闪电或任何其他可能导致中央存储库与其所有集中备份一起消失的东西被盗或被攻击.您剩下的就是各种克隆,幸运的是其中一个已完全更新,因此您创建了一个空白的git存储库替换服务器,用作未来的中央存储库并开始处理克隆.
完全更新的克隆使用"git branch -a"知道所有"远程/源"分支,但只有一个本地分支.(这让我担心 - 失去分支机构信息).
重新建立一个新的中央git存储库的步骤是什么,表现在任何方式,如旧的,分支机构和所有?
git ×10
git-clone ×3
mirror ×2
backup ×1
git-bare ×1
git-branch ×1
git-fetch ×1
git-remote ×1
git-stash ×1
github ×1
repository ×1