gpt4 book ai didi

linux - 在新版本中使用 git 快捷方式,覆盖旧版本

转载 作者:太空狗 更新时间:2023-10-29 12:10:40 33 4
gpt4 key购买 nike

我在运行 Linux 发行版的共享主机计划中使用 git。因为它是共享的,所以我无权访问 sudo。这台机器已经在 /usr/bin/ 中安装了 git 版本 1.7.1,但是这个版本在这一点上相当陈旧。我已经使用 make install 获取当前版本 2.14.1,它位于 ~/git-2.14.1/ 中。如 this answer 所详述,我可以像这样从命令行访问正确版本的 git:

$ git --version
git version 2.14.1

这是对 ~/.bash_profile 中的 $PATH 变量的简单更改,因此我可以很好地使用 git。

我的 ~/.gitconfig 文件中有一个快捷方式列表,可以让我使用 git 更快:

[alias]
co = checkout
st = status
ci = commit
... etc etc etc

当我调用它们时(例如 git st),我从错误版本的 git 中得到结果。它可以追溯到 1.7.1。如果我输入完整的命令(例如 git status),它会使用正确版本的 git。

我的 ~./bashrc 中也有这些命令:

git () {
case "$*" in
st* ) shift 1; command ~/git-2.14.1/git status "$@" ;;
* ) shift 1; command ~/git-2.14.1/git "$@" ;;
esac
}

自编写以来,我已经source编辑了它。

我也试过:

alias git="~/git-2.14.1/git"

没用。

是否有一种解决方法可以让我在我喜欢的 git 版本中使用这些快捷方式?我正在想象一种通过将指针重定向到不同位置来 stash 其他版本的配置文件的方法,但我不知道任何此类指针的存在。

或者,有没有办法在没有 root 访问权限的情况下完全禁用以前版本的 git?

最佳答案

When I invoke these (e.g. git st), I get the results from the wrong version of git. It goes back to 1.7.1

这不是我在 Ubuntu session 中看到的。

我的 .gitconfig 里有

[alias]
st = status
br = branch
v = !git version

这意味着我输入 git v 来检查 git version(与 git --version 相同)。

如果我将 PATH 更改为新编译的 Git,我会看到不同的版本。

vonc@VONC:~/gits$ echo $PATH
/usr/local/bin:/usr/bin:/bin
vonc@VONC:~/gits$ which git
/usr/bin/git
vonc@VONCAVN7:~/gits$ git v
git version 2.13.0

vonc@VONC:~/gits$ export PATH=~/gits/v2.14.0/bin:$PATH
vonc@VONC:~/gits$ git v
git version 2.14.0

关于linux - 在新版本中使用 git 快捷方式,覆盖旧版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45696941/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com