从 git 构建旧包

从 git 构建旧包

我正在尝试运行旧版本的 xdotool,这是我所做的:

git init
pwd
git checkout edbbb7a8f664ceacbb2cffbe8ee4f5a26b5addc8

但它返回了这个错误:

fatal: reference is not a tree: edbbb7a8f664ceacbb2cffbe8ee4f5a26b5addc8

如何使用 git 正确构建程序的旧版本?

编辑:因此在网上搜索后我发现我需要在末尾添加一个“。”所以就是这样:

 git checkout edbbb7a8f664ceacbb2cffbe8ee4f5a26b5addc8.

但现在它给了我这个错误:

 error: pathspec '.edbbb7a8f664ceacbb2cffbe8ee4f5a26b5addc8' did not match any file(s) known to git.

答案1

git 应用程序是不是下载 xdotool 的特定修订版本所需。对于 GitHub,您可以使用以下 URL 格式下载具有特定 shasum 的存档:

https://github.com/{username}/{projectname}/archive/{sha}.tar.gz

因此,对于您的需求,以下内容就足够了:

wget https://github.com/jordansissel/xdotool/archive/edbbb7a8f664ceacbb2cffbe8ee4f5a26b5addc8.tar.gz

这应该足以让你开始了:)

参考:

答案2

您的计算机上没有该 repo。您需要先下载它,例如使用git clone

~$ git clone https://github.com/jordansissel/xdotool.git
~$ cd xdotool
~/xdotool$ 

然后您可以签出一个提交:

~/xdotool$ git checkout edbbb7a
Note: checking out 'edbbb7a'.

You are in 'detached HEAD' state.
...

HEAD is now at edbbb7a... Add --repeat and --repeat-delay to allow repetition of a 
key sequence with an optional delay in between each full sequence.

顺便说一句,如果您需要从分离的 HEAD 返回,命令是git checkout master

答案3

如果您想要的版本已被标记,请尝试检出 git 标签或分支。

或者

尝试仅使用提交的一部分进行检出,因此就您而言:

git checkout edbbb7a8

还要重新检查此提交是否确实存在

相关内容