问题标签 [git-bare]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
257 浏览

eclipse - Git 工作流程:Eclipse 工作区和 Git 裸存储库上的 PDT + Egit

我正在开发一个 Symfony 应用程序,我正在尝试在 Eclipse 上设置一个 Git 工作流。工作区(项目文件所在的位置)位于,/home/sfprojects/testing/Git 存储库位于/var/git/testing.

一遍又一遍地阅读我能找到的所有 Git 资源(包括 Scott Chacón 的“Pro Git”和 EGit 用户指南(http://wiki.eclipse.org/EGit/User_Guide等),很容易了解为什么 Git 存储库和 Eclipse 工作区不应该共享同一个目录,现在我最大的困惑是我看不到一种方法可以将两者分开。

通过向导创建 Git 存储库后,所有项目文件都会自动从 Eclipse 工作区移动到/var/git/testing/testing/. 令我大吃一惊的是,新创建的 Git 存储库变成了 Eclipse 上的新项目工作区,其父目录中有 .git 目录。这不是一个明显的矛盾吗?如果我将鼠标指针悬停在“在项目的父文件夹中使用或创建存储库”选项上,则会出现一个非常清晰的帮助标记,其中包含以下文本:

选中后,此向导将尝试在所选项目的父文件夹层次结构中查找或创建存储库。

通常,新创建的项目位于 Eclipse 工作区中,因此以这种方式创建的存储库也将最终位于 Eclipse 工作区中。

由于 EGit 用户指南中解释的几个原因,不建议这样做。

所以,经过一番研究,我的逻辑结论是创建一个 Git 裸存储库,然后将其链接到位于工作空间中的项目......错误!裸存储库不可用于 Eclipse 项目。

我需要对此进行认真的解释。

0 投票
1 回答
73 浏览

git - 如何实现拉入不是镜像的裸存储库的效果?

我正在尝试建立一个存储库系统,该系统允许项目共享一个“框架”远程,以便可以将框架的错误修复拉入项目中。

我的方法是在 处设置一个裸存储库//NAS/projects/base,将其克隆到 处的裸存储库//NAS/projects/projectX,并将 projectX 的远程从 重命名originframework以避免混淆。目的是每个开发人员都可以克隆//NAS/projects/projectX并将他们的更改推送回该存储库,框架维护者可以克隆//NAS/projects/base并将他们的更改推送回该存储库。然后projectX可以从基地拉动-在这里我的方法失败了,因为我无法拉入裸存储库。

存在一些关于设置 问题,这些问题表面上看起来很相似,但经过检查似乎只解决了第二个裸存储库是第一个存储库的镜像的情况。这不是这里的情况:我希望能够创建一个projectY也使用框架并获取其更改但没有任何特定于projectXprojectYbase.

git 是如何支持这种结构的?是否有人需要将base远程添加到他们的本地存储库,从中提取,然后推入projectX?我可以从baseinto获取projectX:然后我可以执行一些命令来将其 master 重新设置为 master 的 HEADbase吗?还是我以完全错误的方式解决这个问题?

0 投票
5 回答
18966 浏览

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

我正在尝试使 git 存储库可用于通过 http 进行只读访问。

我正在以旧式方式进行操作,因为git-http-backend在我的主机系统上不可用。也就是说,我只是将裸存储库放在 http 可访问的位置。

我使用git clone --bare <some-remote-location>.

现在,当我使用 git 指向新克隆时git clone http://my.host.name/location,会报告一条消息repository not found

当我捕获网络流量时,我看到 git 正在尝试访问http://my.host.name/location/info/refs. 这预计会失败,因为info/refs存储库中没有路径。而是直接在存储库根目录下 有info和目录。refs

显然,克隆的裸存储库的结构不符合客户的预期。有谁知道这可能是为什么?

0 投票
1 回答
583 浏览

git - git push *to* 一个浅克隆,为什么不呢?

所以每个人似乎都在问为什么一个人不能浅层克隆中推动(虽然我实际上已经实现了这一点)。但是,我感兴趣的是推送到浅服务器。

这不起作用(我在我的服务器中通过“git clone --bare --depth 1 the_original_repo”提供了 git repo,我无法从中克隆,因为它说它是一个浅克隆)。但我在想,如果尝试使用与创建浅克隆相同的深度进行克隆,我们为什么会有限制?

我的最终目标是这样的设置:

这样,两个浅节点都没有历史记录,但会有一个客户端拥有完整的历史记录。如果浅客户端推送到浅服务器,这意味着它们的深度会增加,但理想情况下,当完整历史客户端从服务器拉出时,深度会再次减小。

我想这对现在的 git 来说是不可行的,对吧?

0 投票
0 回答
182 浏览

git - Git:提交一个裸仓库

我在 Eclipse 中使用 Egit,所以我不知道它是否与命令行相同。我可以通过右键单击 Bare Repository 来“提交”。提交一个裸存储库意味着什么?假设某个同事已在裸存储库上推送了一些修改,如果裸存储库仍未“提交”,我将无法在下一次提交之前获取更改?

谢谢

0 投票
2 回答
705 浏览

git - 如何在 Git 的裸仓库上创建分支?

有十几个类似的问题,每个人都发布很长的答案,试图说服提问者。

在这种情况下是否可以创建分支?

我不想克隆 repo,只是为了可以在该副本的工作目录中创建一个分支,推送它,然后再次删除整个内容。将创建此分支的脚本(在检查它是否存在之后)已经可以访问 Gitolite 中的裸仓库,并且可以直接发出命令。“git checkout”抱怨必须在工作树中执行操作。

0 投票
1 回答
345 浏览

git - 涉及本地存储库和 2 个远程存储库的 Git 工作流:同一服务器上的暂存和生产存储库

我已经阅读了一些关于此的 Stack Overflow 线程,但其中许多似乎没有回答我所问的问题,或者至少有不同的条件似乎不适用于我的问题。

如何设置以下内容?

本地存储库:

  • 总是从远程获取/拉取,比方说live.git,远程bare repo应该是 git 维护的站点的最新稳定版本。拉取将合并到本地 repo 的主分支中。然后,任何本地开发都将在开发分支上完成,并在完成后合并到本地 master,然后推送到远程 Staging repo 的开发分支。

远程存储库:

  • 测试/暂存:一个非裸 git 存储库,它有两个分支:master 和 development。从上面看,任何本地推送的提交都将被合并到远程 Staging 存储库的开发分支中。如果 Staging 环境已经过测试和审查,我会将 Staging 开发分支合并到 Staging master 分支。然后我将主分支(实际推送后接收/更新只有在我在 Staging 的主分支上才会起作用)推送到该分支,该分支bare repo将定义一个post-receive或一个post-update钩子以结帐到服务器上的实时目录.

我的想法是,可以在暂存非裸 repo 上进行测试,并且当每个人看起来都很好时,可以推送到 live 裸 repo。如果有任何问题,那么我可以通过检查上一次提交的暂存提交来回滚,然后将其推回实时裸仓库。

请注意,如果重要的话:我的登台和实时站点位于文档根目录,前者用作子域 (staging..*.com),后者位于站点根目录 (www..*.com)。

我无法让它发挥作用。我假设您可以拥有一个非裸仓库(登台),在同一台服务器上拥有一个裸仓库(实时)作为远程仓库。本地的遥控器将暂存。这样的设置是否可能,如果没有,有人可以推荐一种简单的替代或一致的方式吗?

谢谢!

0 投票
1 回答
52 浏览

git - 删除裸仓库上的错误文件名,时刻 22

我在 USB 驱动器上使用裸存储库来处理工作和在家中的个人项目。

家庭:在 Mac 上工作。意外提交并推送包含 * 的命名错误的文件

工作:尝试 git pull。部分工作正常,我得到了所有必要的文件,但我也得到错误“无法创建文件 XXX*(无效参数)”。

无效的解决方案:尝试使用 git push --force 从裸仓库中删除坏文件:告诉我“你应该先拉”。

但是,如上所示, git pull 会产生错误。关于如何清理这个烂摊子的任何建议?基本上,我只想“进入”我的 USB 驱动器上的裸仓库并删除有问题的文件,以便我可以合并。

0 投票
1 回答
164 浏览

git - 成功使用“git push”后,服务器端没有任何变化

我在我的 VPS 上创建了一个裸仓库

repo 的文件夹是 "~/repo" ,我在 "~/rpeo/.git" 处使用了 "git init --bare" 然后什么也没做

然后我克隆了它并推送了一些东西,我得到了这个结果:

我还可以在服务器端查看日志并使用“git pull”来获取这些文件

日志:

但是 ~/repo 仍然是空的

请帮助我,非常感谢你!

0 投票
1 回答
142 浏览

git - 关于子模块的裸存储库中存储了什么?

我正在尝试编写一个检查一些 git 存储库的工具。

我想知道关于子模块的裸存储库中存储了哪些信息?

到目前为止,我认为它只是.gitmodules文件。如果有人能证实这一点,那就太好了。