首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用符号链接构建Git

用符号链接构建Git
EN

Stack Overflow用户
提问于 2015-01-06 11:57:27
回答 3查看 380关注 0票数 1

在GNU/Linux上,有没有一种使用符号链接而不是硬链接从源代码构建Git的方法?

例如:

代码语言:javascript
复制
./configure
make
make install

收益:

代码语言:javascript
复制
$PREFIX/bin/git
$PREFIX/libexec/git-core/git-log
$PREFIX/libexec/git-core/git-status
$PREFIX/libexec/git-core/git-commit
...

都是硬链接。

我希望git-loggit-statusgit-commit成为git的符号链接,等等。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-06 12:16:01

这样做是没有办法的。Makefile总是尝试首先创建硬链接,只有当它失败时,才返回到符号链接。

您可以尝试的是别名或阴影,在默认情况下创建符号链接。

票数 1
EN

Stack Overflow用户

发布于 2015-01-07 23:24:07

你能做到的除非我误会了。您要做的就是将NO_INSTALL_HARDLINKS=YesPlease添加到make行:

代码语言:javascript
复制
./configure
make NO_INSTALL_HARDLINKS=YesPlease
make NO_INSTALL_HARDLINKS=YesPlease install

如果在Git源目录中的makefile顶部读取注释,您会发现:

代码语言:javascript
复制
# Define NO_INSTALL_HARDLINKS if you prefer to use either symbolic links or
# copies to install built-in git commands e.g. git-cat-file.

请记住,Git只是部分地使用autoconf。它的大部分配置只能通过在命令行中添加make选项来选择:读取Makefile顶部的docs,以了解您可以做的其他事情。

不管怎么说,这对我有用。

票数 3
EN

Stack Overflow用户

发布于 2017-05-11 11:58:05

我可以确认MadScientist的方法仍然适用于最新的git版本。

代码语言:javascript
复制
  wget https://www.kernel.org/pub/software/scm/git/git-2.12.3.tar.gz
  ./configure --prefix=/usr      
  make NO_INSTALL_HARDLINKS=YesPlease -j5
  make NO_INSTALL_HARDLINKS=YesPlease install


  ls -althr /usr/libexec/git-core
  -rwxr-xr-x 1 root root  11M May 11 13:48 git
  lrwxrwxrwx 1 root root    3 May 11 13:48 git-am -> git
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27798181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档