我已经在GitHub上设置了一个Git存储库,并从我的Windows机器上做了一些更改。
但明天我将不得不在运行Ubuntu且具有有限权限(即没有sudo)的机器上工作。
是否有可移植版的Git for Linux?或者某些源代码允许我仅为当前用户编译和安装Git?
答案 0 :(得分:32)
如果您有构建工具,可以下载git源并执行./configure --prefix=/home/user/myroot && make && make install
将git安装到您的主目录。如果您没有安装build-essential软件包(dpkg --list|grep build-essential
),则还需要将它们安装到您的主目录中。
答案 1 :(得分:15)
我不喜欢纯链接的答案,但我在Fedora机器上一步一步地跟踪this链接,它无需修改即可使用。非常非常容易。二进制文件最终出现在〜/ bin目录中。您下载了tarball,提取源代码,运行make
并运行make install
,就是这样。
正如作者所述,2个先决条件是gcc和ssh,如果你遇到这些git应该作为非root用户使用。
答案 2 :(得分:8)
相关答案为https://askubuntu.com/a/350。
我可以使用第三种方法:
apt-get source git
cd git_vXXX
./configure --prefix=$HOME
make
make install
我不知道为什么,但是当我尝试从github的源代码下载安装时,我遇到了许多缺少依赖项的问题
答案 3 :(得分:8)
要从源代码安装git和依赖项,以下内容可能很有用。
替换为您安装非root应用程序的位置,并考虑检查源代码的最新版本。
wget https://curl.haxx.se/download/curl-7.47.1.tar.gz
tar -xf curl-7.47.1.tar.gz
mkdir <local_curl_dir>
cd curl-7.47.1
./configure --prefix=<local_curl_dir>
make
make install
wget http://downloads.sourceforge.net/expat/expat-2.1.0.tar.gz
tar -xf expat-2.1.0.tar.gz
mkdir <local_expat_dir>
cd expat-2.1.0
./configure --prefix=<local_expat_dir>
make
make install
wget https://github.com/git/git/archive/v2.6.4.tar.gz
tar -xf v2.6.4
mkdir <local_git_dir>
cd git-2.6.4
make configure
./configure --prefix=<local_git_dir>/git --with-curl=<local_curl_dir>/curl --with-expat=<local_expat_dir>/expat
make
make install
答案 4 :(得分:4)
这就是我最终要做的事情,主要技巧是制造标志:
wget -O git.tar.gz https://github.com/git/git/archive/v2.17.0.tar.gz
tar zxf git-2.17.0.tar.gz
mv git-2.17.0 git
cd git
make configure
./configure --prefix=`pwd` --with-curl --with-expat
# ./configure --prefix=`pwd`
# Make flags from https://public-inbox.org/git/CAP8UFD2gKTourXUdB_9_FZ3AEECTDc1Fx1NFKzeaTZDWHC3jxA@mail.gmail.com/
make NO_GETTEXT=Nope NO_TCLTK=Nope
make install NO_GETTEXT=Nope NO_TCLTK=Nope
现金:
79E09796上面的回答是一个很好的提示,但对于我在Cloudways上的案例并不起作用,并且不需要编译curl和expat。
我在互联网上找到的随机电子邮件记录:https://public-inbox.org/git/CAP8UFD2gKTourXUdB_9_FZ3AEECTDc1Fx1NFKzeaTZDWHC3jxA@mail.gmail.com/
答案 5 :(得分:1)
以用户身份安装 Anaconda 并使用 conda 安装 git。
Anaconda 可以作为用户安装,并且可以创建一个 conda 环境来帮助您安装其他软件包。这样就不需要从源码编译git,也不需要安装libcurl和perl,所以不会报错
git: 'remote-https' is not a git command. See 'git --help'
成功编译git后。
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
。chmod +x Anaconda3-2020.11-Linux-x86_64.sh
~/.bashrc
文件中 [见下文]。使用这种方法,您的路径不会被污染,您将看到与 conda 相关的二进制文件是否也在您当前的路径中。或者你可以/home/myusername/anaconda3
,它将位于 /home/myusername/anaconda3/bin
。您的新可执行文件 conda
也将在那里帮助您安装诸如 git、python 或 pandoc 之类的软件包,或者cd /home/myusername/anaconda3/bin
,然后执行以下命令。(base) myusername@servername
的内容,表明您正在使用基本 conda 环境。
7 现在您可以通过发出 conda install -c anaconda git
来 install git using conda。如果您告诉 Anaconda 安装程序为您初始化 conda,您的 .bashrc
将包含这样的赞:
# content of your .bashrc in your home dir
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/myusername/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/myusername/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/myusername/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/myusername/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
答案 6 :(得分:0)
对于最新版本(我的意思是git-2.25.0-rc1或更高版本),您需要
wget https://github.com/git/git/releases/tag/v2.25.0-rc1 -O git.zip
unzip git.zip
cd git-2.25.0-rc1
export PATH=`pwd`:$PATH
当然,您可以将最后一行添加到.bashrc或.zshrc或其他内容中,以更加方便。