git-bare相关内容

将 git 存储库添加到 VSP 上的现有文件夹

我的设置如下所示: Bare Repo 在我的根 /srv 文件夹中 本地回购在我的电脑上 Gitlab 回购 很好 Gitlab 我添加了两个源(Gitlab 和我的 Bare Repo)以将所有更改从我的本地计算机推送到源. 现在我想在我的 Bare Repo 中设置一个 post-receive Hook,以便更新我的 VSP 上的工作目录(Bare Repo 所在 ..
发布时间:2022-01-10 11:11:59 其他开发

git合并裸仓库中的分支

我想为我的 git 存储库创建以下设置: 我目前有一个包含我所有工作文件的本地 git 存储库.我希望能够设置一个中央裸存储库和另外两个非裸存储库——一个用于实时应用程序,另一个用于测试版本. 我希望能够将更改从本地推送到测试分支上的中央裸存储库.然后,在我的测试仓库中,总是从裸仓库的测试分支中拉取. 当准备好进行更改时,我希望能够将我的测试分支和我的主分支合并到中央裸存储库中. ..
发布时间:2021-12-27 22:28:33 其他开发

如何使用 git-archive 从裸存储库中包含子模块

我正在设置部署脚本.基本流程是: 将更改推送到服务器上的裸仓库 然后根据新标签为发布创建一个新文件夹. 使用 git archive 将文件移动到发布目录 运行一些迁移脚本并使其生效(如果一切成功). 问题是我的存储库包含一个子模块,该子模块未放入存档中,因此未放入发布目录中. 我见过 git-archive-all,但这在裸机上不起作用存储库. 如果不可能,我正在考 ..
发布时间:2021-12-26 23:26:34 其他开发

什么是裸存储库,为什么我需要一个?

这可能已经得到了回答,但我没有找到好的答案. 我来自集中式存储库,例如 SVN,在那里您通常只执行签出、更新、提交、还原、合并等操作. Git 快把我逼疯了.命令数不胜数,但最难理解的是为什么很多事情都是这样运作的. 根据"什么是裸git存储库?": 使用 git init --bare 创建的存储库称为裸存储库.它们的结构与工作目录略有不同.首先,它们不包含您的源文件的工作或 ..
发布时间:2021-12-14 12:59:07 其他开发

编写一个 git post-receive 钩子来处理特定的分支

这是我当前在公司服务器中的裸仓库中的钩子:git push origin master这个钩子推送到 Assembla.当有人将更改推送到我们服务器上的该分支时,我需要只推送一个分支(理想情况下是主分支),而忽略对其他分支的推送.是否可以从裸仓库中选择分支并将该分支仅推送到 Assembla? 解决方案 post-receive hook 从 stdin 获取参数,格式如下: ..
发布时间:2021-12-06 09:43:02 其他开发

git 中裸共享存储库的概念

我一直在理解裸存储库方面遇到困难.我到处都读到共享仓库是一个裸仓库.为什么它必须是一个裸回购?难道不能是协作者克隆然后推/拉的普通存储库吗? 解决方案 它需要是一个裸仓库,因为一个非裸仓库会有一个工作树(意味着该仓库的特定版本被检出并且文件可见). 每次你推送到一个非裸仓库时,你不能保证它的工作树会反映你正在推送的内容,因为默认情况下所述工作树不会被触及. (想象一下,如果推送会触 ..
发布时间:2021-12-06 09:21:46 其他开发

Bare 和非 Bare 存储库之间的实际区别是什么?

我一直在阅读有关 Git 中的裸和非裸/默认存储库的信息.我一直无法很好地理解(理论上)它们之间的差异,以及为什么我应该“推"它们.到一个裸存储库.这是交易: 目前,我是唯一一个在 3 台不同计算机上从事一个项目的人,但以后会有更多人参与其中,所以我使用 Git 进行版本控制.我在所有计算机上克隆裸存储库,当我完成对其中一台计算机的修改后,我提交并将更改推送到裸存储库.据我所知,裸仓库没有“ ..
发布时间:2021-12-06 09:09:08 其他开发

如何将普通的 Git 存储库转换为裸存储库?

如何将“普通"Git 存储库转换为裸存储库? 主要区别似乎是: 在普通的 Git 存储库中,存储库中有一个 .git 文件夹,其中包含所有相关数据和构成工作副本的所有其他文件 在裸 Git 存储库中,没有工作副本,文件夹(我们称之为 repo.git)包含实际的存储库数据 解决方案 简而言之:将repo的内容替换为repo/.git的内容,然后告诉存储库,它现在是一个裸存 ..

如何在没有工作目录的情况下创建git repo?

我使用git worktree概念创建多个工作目录.每个功能和/或错误修复一个. 因此,我将一次创建存储库的git克隆,然后根据需要开始创建工作树. 当我克隆一个git仓库时,默认情况下会检出一个工作目录-主工作树.我们不使用并且不必要地占用了空间.因此,我正在寻找一种创建git repo的方法,并在开始时将工作目录检出. 我尝试了git clone --bare ./te ..
发布时间:2020-11-15 06:05:20 其他开发

Git推送“写入错误:不支持操作";

我在我的团队能够推送到的samba共享服务器上有一个裸露的git repo,但是当我尝试推送时,我得到了错误: remote: fatal: sha1 file './objects/pack/tmp_pack_' write error: Operation not supported error: unpack failed: index ..
发布时间:2020-11-15 05:53:00 其他开发

裸git vs .git/-config.bare的目的

背景: 我已经创建了一个裸仓库 cd ~ git init --bare GitDrive 想法是将其用作Google驱动器的git目录 cd "Google Drive" echo "gitdir: ../GitDrive 但是git直到我从.git/config 中删除bare = true之前都不喜欢这样 这让我开始思考是否要进行配置设置,以决定 ..
发布时间:2020-06-16 18:56:19 其他开发

复制Git裸回购是否会更改日志?

我想用git尝试一些事情,而且我不想在工作库中搞砸. 为了保持安全,我已经复制了我工作的裸仓库,并打算从此仓库进行所有推送和标记.我用过: cp --preseve -r original.git copy_of_original.git 尽管我知道一个人可以撤消错误的提交,但我不想将所有这些还原的提交留给仓库,也不想进行任何重构,因此我希望只在一个重复的裸仓库中工作 问题是 ..
发布时间:2020-06-16 18:56:15 其他开发

Git远程回购中的项目文件在哪里?

我开始使用Git和我的项目VCS. 我已经使用 创建了一个远程仓库 git init --bare 在/codes-repo中 并将更改从本地存储库推送到那里.然后我想将项目文件从那里移动到/var/www/project,以供http://....访问.但我在/codes-repo上看不到任何项目文件(index.php,css/,....)来复制它们,那里只有git文件和文件夹. ..
发布时间:2020-06-16 18:56:12 其他开发

我需要在裸仓库中合并分支吗?

在我的设置中,我有三个存储库: 远程服务器(/op/git/proj.git)上的裸仓库 远程服务器(/var/www/proj/.git)上的非裸仓库 本地计算机(/var/www/proj/.git)上的非裸仓库 裸仓库是本地和远程普通仓库的起源. 每当我在本地进行提交时,我都会在本地执行push进行裸仓库,然后在普通的远程仓库进行pull,然后在远程进行更改. 现 ..
发布时间:2020-06-16 18:56:08 其他开发

推送分支和标签时,出现错误:无法生成git:没有此类文件或目录

我有一个现有的,裸露的Git存储库,该存储库是通过从CVS导入我们的源代码和历史记录创建的.我用: git clone --mirror git://aserver.adomain.com/myrepo 然后,我想将所有分支和标签推送到我们的内部Git存储库主机,,但是该推送似乎没有将裸仓库视为Git存储库. 我尝试了以下操作: git clone --mirror git:// ..
发布时间:2020-06-16 18:56:06 其他开发

Git:将本地git子模块(包括子模块文件)推送到远程裸仓库

我有两个用git管理的本地项目,一个依赖于另一个,例如: project A/ ├── project B/ │ ├── file B₁ │ ├── file B₂ │ ├── … 将project B作为project A的git子模块对我来说很有意义. 现在,我已经为project A建立了一个远程 bare 存储库,用于备份和共享.当然,我希望远程存储库 ..
发布时间:2020-06-16 18:56:02 其他开发

将东西添加到git裸仓库

我知道,如果我在裸存储库中有文件,则可以使用git show HEAD:path/to/file访问它们. 但是我可以在不克隆和修改工作树的情况下将新内容添加到裸仓库吗? 解决方案 如果我添加1个文件,则该提交中仅包含1个文件,也就是我们添加了一些新内容,现在它已设置为石头 有几种简便的方法可以在裸仓库中将单个文件提交添加到master分支的尖端. 看来我需要创建一个 ..
发布时间:2020-06-16 18:55:57 其他开发

无法通过http克隆git repos;找不到信息/参考

我正在尝试使git存储库可用于通过http进行只读访问. 我正在按照旧方式进行操作,因为git-http-backend在主机系统上不可用.也就是说,我只是将裸存储库放在http可访问的位置. 我使用git clone --bare 在主机上成功创建了裸存储库. 现在,当我使用git clone http://my.host.name/ ..
发布时间:2020-06-16 18:55:55 其他开发

Git Repo自动提交和推送

我有一个场景,其中有一个用户直接访问文件的回购站,他们不知道git是否存在,并对本质上是文本文件进行了更改。 现在,我已将克隆的回购作为裸回购。但是,我现在想要做的是在每次推送时都要运行脚本。该脚本将读取刚刚推送的文件的内容。这是否被视为提交?我可以再次使用post-commit钩子吗? 这可以在裸露的repo上完成吗?由于没有工作目录?我不明白我是否可以“读取”文件,如果回购是裸露的 ..
发布时间:2018-04-28 12:15:24 其他开发