4

我有我公司的服务器。在这台服务器上没有安装 git (而且它不会在不久的将来)。(在许多免费的服务器托管站点上,也没有安装 git)

有没有办法在没有安装 git 的情况下使用 git 二进制文件(因此在另一个文件夹中没有所需的依赖项,独立)?

另一台服务器对我来说是没有选择的。

我想要 git 作为 web git 存储库查看器,这当然需要 git 二进制文件在任何文件夹中工作,也许有一个带有集成 git 二进制文件的 web git 存储库查看器。


我试过了:

服务器操作系统是 linux 64 位。我已将 git 二进制文件从本地 linux 复制到服务器上的可执行路径。那没起效。所以我查找依赖项。需要这些库:

  • libz.so.1
  • libresolv.so.2
  • libpthread.so.0
  • libpcre.so.3
  • libc.so.6

它们只是指向名为的库的链接:

  • libz.so.1.2.7
  • libresolv-2.17.so
  • libpthread-2.17.so
  • libpcre.so.3.13.1
  • libc-2.17.so

所以我重命名了这些库并将它们复制到 git 二进制文件所在的服务器。但不幸的是,git 二进制文件在库的 /lib/linux-64-gnu...os 文件夹中查找,而不是在同一个文件夹中。我不知道接下来要尝试什么。

4

1 回答 1

1

这是我的解决方案:

  1. 我在我的 Windows PC 上下载并安装了 Ubuntu 13,其架构与我要复制独立 git 二进制文件的服务器相同。架构是 x86_64,代表 64 位。下载链接是http://www.ubuntu.com/download/desktop
  2. 我将它刻录到磁盘,从 CD 启动。然后我的用户名是“Ubuntu”,但我需要另一个,所以我在 USB-Stick 32GB 上安装了 Ubuntu。
  3. 我下载了一个 git tarball 文件:'git-1.7.3.tar.bz2' 并在使用命令 'cd ~/Downloads' 后在终端中使用命令 'tar -jxvf git-1.7.3.tar.bz2' 提取它进入下载的 tarball git 文件所在的目录。下载链接是 code.google.com/p/kakola/downloads/detail?name=git-1.7.3.5.tar.bz2&can=2&q= (通过谷歌搜索找到它'git .tar.bz2')
  4. 现在 .tar.bz2 文件旁边有一个目录,使用 'cd git-1.7.3.5' 进入它
  5. 只是为了确保我安装了其他网站提到的每个命令,这些命令可能对“sudo apt-get install libexpat1-dev asciidoc libz-dev gettext curl”有用
  6. 我在路径上创建了一个目录,bin 应该在服务器上,因为我只有主访问权限,它必须在主文件夹中,带有“mkdir /home/git”
  7. 然后我使用命令 './configure --prefix=/home/git/BIN CFLAGS="${CFLAGS} -static" NO_OPENSSL=1 NO_CURL=1' 用我的配置文件填充提取的文件夹:'config.mak .autogen'
  8. 之后,我制作了“make”,然后制作了“make doc”来创建文件,然后制作了“install”和“make install-doc”,以及我希望 git 二进制文件填满所有这些文件的目录(棒上相当大的 364MB )
  9. 下载 Gitlist 并将其上传到我的服务器,并将整个创建的文件夹及其所有二进制文件上传到 gitlist 文件夹中。
  10. 将 Gitlist 中的 config.ini 更改为使用 git 的独立二进制文件,而不是某些 PATH(也更改了项目路径)

Gitlist 找到存储库并将其显示在列表视图中

(使用 GitWeb 时出现错误,但 GitList 似乎还可以)

于 2013-05-02T19:04:14.577 回答