问题标签 [git-server]

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 回答
561 浏览

git - 如何使用 gitweb(或任何其他 git web-server)创建子组页面?

我用 gitweb 设置了一个 gitosis 服务器,现在我有很多 git 项目。
有没有办法按组组织这些项目?

假设我有一个名为“工具”的组和另一个名为“调试”的组,每个组都包含几个与其组名相关的项目。我想设置,所以我可以向用户发送一个仅包含“工具”项目的链接和另一个链接以显示所有“调试”项目。
更好的是,如果有一个 Web 应用程序可以解析我的 gitosis.conf 文件,因为我可以在 gitosis 中定义多个组,如果 Web 界面可以根据配置文件中定义的组生成不同的链接,那将是理想的。

0 投票
0 回答
28 浏览

git - Git 服务器为部分存储库获取提供 REST/websocket 协议

有了isomorphic-git之类的项目,Web 应用程序使用众所周知的 API 提供开箱即用的版本控制以及用户可以与他们自己的可移植、与站点无关的数据存储进行交互的令人兴奋的潜力变得更近了(尽管遗憾的是,浏览器中不存在任何globalStorage类型的解决方案,仅具有与远程站点无关的数据存储)。

然而,由于 Git 的安全模型显然专注于整个存储库,并且 Git 无法仅获取/克隆存储库的单个部分(无论是 blob、树还是提交对象),当面临需求时就会出现问题,尤其是 Web 应用程序,用于托管整个代码存储库之外的数据(例如,用户希望离线的单个页面/数据对象的片段或快照——例如,来自未来的离线 Wikipedia Web 应用程序)。

是否存在任何允许 Git 服务器仅传输存储库的一部分的扩展协议(或自定义实现)(与不同的是svn export,允许将更改推回服务器)?我想有人可以抓取 Git Web 服务器响应,但我想知道是否存在任何 REST(或 websocket)协议(或者,如果没有,自定义软件)以使与 Web 客户端的交互更加实用,例如,使用 JSON 响应(最好使用身份验证和精细授权)。

我知道使用浅克隆的稀疏签出,但我会尽量减少网络流量,我会对检索单个 blob、树或提交对象的潜力感兴趣。

0 投票
0 回答
26 浏览

git - 在 Git 服务器上使用 bare 的技术原因

我知道 Git 服务器通常应该是一个裸存储库。根据https://stackoverflow.com/a/2538611/271577,这可能只是一个建议:“通常建议将远程存储库设为裸露,因为尝试推送到已签出的分支会导致远程工作树与其签出的分支不同步。”

我会假设一个钩子可能会导致签出的分支自动合并更改。

因此,可以有一个更简短的管道,开发人员只需将更改推送到单个 Git 服务器以进行持续集成,并使用 Git 挂钩来合并更改(如果通过测试)并立即基于 repo 内容设置 Web 服务器,而不是设置带有钩子的裸存储库以提示单独的存储库拉取更改,然后才更新 Web 服务器。

是否有任何技术(或实际)原因这种方法行不通,或者它有其自身的局限性?

0 投票
0 回答
73 浏览

django - nginx中的git服务器和django程序

我想在我的 django 程序中运行一个 git 服务器。我的 nginx 配置是这样的:

我的 django 程序运行正常,但是对于 git 服务器,我无法打开它。

但是当我更改 django 程序的位置时,它们都可以正常工作。

我只想使用“/”而不是“/”+字符串。我应该怎么办??

0 投票
0 回答
20 浏览

git - 在 Raspberry Pi2 git 服务器上合并

你好 Stack Overflow 社区,

我已经在我的 Raspberry PI 2 上使用当前的 Raspian Image(2018 年 3 月)配置了一个 git 服务器。

在我的 git repro 中,我有两个分支:

如果我将 'comments' 分支合并到 'master' 中,我会收到以下错误消息:

我在这里做错了什么?

谢谢,

马克

0 投票
1 回答
40 浏览

bash - 在服务器挂钩中提交版本号作为标签和进程标签的软件

我有一个工具链,每次新推送到达我的 Git 服务器时,它都会构建我的项目文档。

如果没有特定版本,则应使用称为“最新”的参考来构建文档。但是当我决定使用 Git 标签设置版本时,应该在 Git 挂钩中使用该标签来构建具有此版本号的文档。

钩子的伪代码应该是这样的:

问题一:

我如何在 post-receive 挂钩中提取信息,如果有分配给提交的标签,如果有,是哪一个?

问题2:

如何在命令行上添加标签,使其完全属于推送事件,并与软件的推送一起推送到服务器?

0 投票
0 回答
260 浏览

git - 如何将自定义消息从 git 服务器发送到远程克隆?

当我们克隆托管在 Visual Studio Team Services 中的存储库时,我们会看到 VS ASCII 徽标:

  • 如何在自托管 git 服务器中配置这种自定义消息?
  • 服务器是否知道调用者的 shell / tty 是否启用了颜色?
  • 这些消息可以按存储库修改吗?
0 投票
1 回答
178 浏览

linux - 在没有 git 用户的情况下使用 git 服务器

我有一台只有一个用户的远程 linux 机器。

git我只是在没有用户的情况下设置了 git repos 。但是所有的教程都建议我使用git用户。所以现在我正在使用

而不是 :

它工作正常。

如果我使用 git 帐户,对于每个项目,我必须更改该项目的权限并更改配置以共享目录。

使用设置使用 git用户是否比在 linux 上使用您的用户帐户有任何优势?

0 投票
1 回答
45 浏览

git - 如何在两个本地 Windows 系统上配置 git 服务器和客户端存储库?

我正在尝试使用两台 Windows(均使用 Windows 10 操作系统)机器配置 git 服务器和客户端。所以,我下载了 git Git-2.18.0-64-bit.exe 文件并安装在两台机器上。首先,我在客户端机器上使用以下命令创建了用户和电子邮件:

git config --global user.name "rams"git config --global user.email "ramsxyz@gmail.com"分别。

然后我使用git init命令在 myrepo.git 目录中的客户端上创建了空存储库。

然后我在服务器机器上使用git init --bare创建了服务器存储库。

然后,我使用remote add origin username@ipaddress:/Users/rams/myrepo.git命令将远程服务器存储库添加到客户端计算机上的客户端 。

然后我在客户端机器上的 myrepo.git 目录上创建了一个 README.txt 文件,并使用git add README.txt命令添加到暂存中。

然后我尝试使用 git commit -m " added initial version"命令提交文件。

之后,我尝试使用 git push origin master将 README.txt 文件推送到服务器存储库。但是,它最终给出了以下错误:

“ssh:连接到主机 10.208.23.161 端口 22:连接被拒绝致命:无法从远程存储库读取。请确保您具有正确的访问权限并且存储库存在。”

我试图通过关闭客户端计算机上的防火墙来解决此问题,以避免阻塞端口 22。但是,它仍然没有修复。

感谢您提供解决此问题的任何帮助或建议。提前致谢。

0 投票
1 回答
8816 浏览

windows - 如何在 Windows 上的 git 配置中修复“ssh 权限被拒绝,请重试错误”

我正在尝试在两台本地 Windows 机器上配置 git 服务器和客户端。我在两台机器上都安装了 git 软件。在服务器上启用了 openssh 服务器可选功能并在服务器上创建了一个裸存储库。然后尝试在客户端克隆服务器的裸存储库,它询问我服务器用户的密码,但是,即使我输入了正确的密码,它也会给出以下错误消息。

权限被拒绝(公钥、密码、键盘交互)。

我试图找出错误的原因。在 google 上浏览此错误后,我知道它是 ssh 配置不正确。我发现的一个建议是使用命令检查 ssh 是否在没有 git 参与的情况下正常工作

ssh -Tv ram-pc1@10.208.27.100,它也因给出以下错误消息而失败:

$ ssh -Tv ram-pc1@10.208.27.100

下面是我的 ssh_config 文件设置:

我花了很多时间来解决这个错误。但没有成功。请帮助解决这个问题。提前致谢。