我正在使用 jq 通过脚本获取 tag_name 索引:
curl \
https://api.github.com/repos/checkstyle/checkstyle/releases \
-H "Authorization: token $GITHUB_TOKEN" \
-o /var/tmp/cs-releases.json
TARGET_RELEASE_NUM=$1
TARGET_RELEASE_INDEX=$(cat /var/tmp/cs-releases.json | \
jq -r "[.[].tag_name] | to_entries | .[] | \
select(.value==\"checkstyle-${TARGET_RELEASE_NUM}\") | .key")
echo TARGET_RELEASE_INDEX="$TARGET_RELEASE_INDEX"
Run Code Online (Sandbox Code Playgroud)
仅当我使用 $GITHUB_TOKEN 作为硬编码值(直接在脚本中)时,我才能得到预期的结果,但是当我使用 $GITHUB_TOKEN 作为命令行变量时,我得到以下输出:
jq: error (at <stdin>:4): Cannot index string with string "tag_name"
Run Code Online (Sandbox Code Playgroud)
使用时出现此错误:
rahul@rk7:~/Desktop/opensource/checkstyle$ GITHUB_TOKEN=ghp_xxxx && ./.ci/update-github-page.sh 10.1
Run Code Online (Sandbox Code Playgroud)
和工作良好:
curl \
https://api.github.com/repos/checkstyle/checkstyle/releases \
-H "Authorization: token ghp_xxxx" \
-o /var/tmp/cs-releases.json
TARGET_RELEASE_NUM=$1
TARGET_RELEASE_INDEX=$(cat /var/tmp/cs-releases.json | \
jq -r "[.[].tag_name] | to_entries | .[] …Run Code Online (Sandbox Code Playgroud) 当我尝试推--all送到 GitHub 时,Git 传输开始很快,变慢,最终停止。它不会失败,它只是慢慢停止。这是怎么回事?这真的很令人沮丧,我想推动我的代码,但每次我尝试这样做时,它都会变慢停止。我在多个网络上尝试过,所以我认为这不是我的网络连接。
使用以下 Dockerfile:
FROM nexylan/php-dev:7.1-alpine
COPY entrypoint.sh /
RUN chmod u+x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
WORKDIR /code
CMD ["tail", "-f", "/dev/null"]
Run Code Online (Sandbox Code Playgroud)
(入口点与问题无关)。
docker-compose 上的定义:
version: '2'
services:
data:
image: alpine
volumes:
- .:/code
console:
build: docker/php-console
volumes_from:
- data
env_file:
- .env
Run Code Online (Sandbox Code Playgroud)
以及有关 Gitlab CI 命令的以下命令:
image: docker
services:
- docker:dind
before_script:
- docker info
- apk add --update bash python py-pip python-dev
- pip install docker-compose
- docker-compose up -d
- docker-compose ps
- docker-compose exec -T console make install
stages: …Run Code Online (Sandbox Code Playgroud) 我知道git在命令行上使用是许多 Linux 用户的首选方法。
但是有人在基于 Debian 的系统上成功安装并使用了带有 GUI 的 Git 客户端吗?(准确地说,它是带有 raspbian 发行版的 Raspberry PI 2)
我问这个问题,因为我没有在 Web 上找到任何答案,例如,GUI 是管理冲突的最方便的方法。
由于我使用的是低功耗设备,因此我当然也在寻找轻量级客户端
此致。
我找到了一种使用命令行将 SSH 密钥上传到我的 GitHub 帐户的方法,但是有一个小问题。
我可以使用以下命令执行此操作:
curl -u "user:pass" --data '{"title":"test-key","key":"ssh-rsa Aaa"}'
Run Code Online (Sandbox Code Playgroud)
https://api.github.com/user/keys
但是我在 Chef 中使用它来将我的节点的密钥添加到我的 GitHub 帐户:
curl -u "user:pass" --data '{"title":"test-key","key":"`cat ~/.ssh/id_rsa.pub`"}' https://api.github.com/user/keys
Run Code Online (Sandbox Code Playgroud)
但它给出了错误。
可能是什么原因?
我需要一个优雅的解决方案来将我的点文件存储在 GitHub 上以便于访问。我尝试创建一个dotfiles目录并将所有点文件符号链接到那里。然后我尝试将符号链接添加到 git 并在该目录中提交,但git保存链接而不是它指向的文件的内容。有没有办法做到这一点或类似的东西?
我有这个:
curl -L "https://github.com/cmtr/cp-go-api/tarball/$commit_id" | tar x -C "$project_dir/"
Run Code Online (Sandbox Code Playgroud)
我只是想从 github 下载一个 tarball 并将其解压缩到现有目录。问题是我收到此错误:
Step 10/13 : RUN curl -L "https://github.com/channelmeter/cp-go-api/tarball/$commit_id" | tar x -C "$project_dir/"
---> Running in a883449de956
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9 100 9 0 0 35 0 --:--:-- --:--:-- --:--:-- 35
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
The command …Run Code Online (Sandbox Code Playgroud) https://github.com/org/repo/pull/777
我试图解析 bash 函数 1 中该 url 的最后一个数字,并将该结果传递给 bash 函数 2。
我有一个我一直在玩的基本例子:
1 pullpr() {
2 git checkout pr/$1
3 }
4
5 co() {
6 pullpr awk -F/ '{print $7}' <<<$1
7 }
Run Code Online (Sandbox Code Playgroud)
我似乎无法让它发挥作用,但我想以正确的方式做到这一点。
我正在 CentOS 7.9 GNU/Linux 系统上工作。我已经在 下构建并安装了较新版本的 git(2.34.1,而不是与发行版捆绑在一起的 1.8.3.1)/opt/git/2.34.1,并在 ; 处有指向该目录的符号链接/opt/git/current。我已将该符号链接目录添加到我的变量(的开头)$PATH。
不幸的是,当我尝试使用 HTTPS URL 签出存储库时,出现一些错误
$ git clone https://github.com/eyalroz/cuda-api-wrappers.git
Cloning into 'cuda-api-wrappers'...
git: 'remote-https' is not a git command. See 'git --help'.
Run Code Online (Sandbox Code Playgroud)
使用旧版本的 git 克隆 - 有效。
为什么会发生这种情况?我可以采取什么措施来解决它?
很抱歉问这个可能是菜鸟问题。
我是 GitHub 和 DevOps 环境的新手,我的任务是自动化一些东西。我在 GitHub 上发现了一个仍在维护的项目,并且将来会收到新版本。
我想构建一个管道,在其中我需要从 GitHub 下载适合我的特定环境的最新 exe 版本。
目前,他们的 git 存储库中的 /releases/vX.yz 下有发布包(其中 X、y 和 z 是发布版本),其中包含多个包,名称如下:
ETC。
考虑到版本会及时更改,有什么方法可以通过使用某种模式来获取特定的包吗?
令人高兴的是,链接:https://github.com/some-example-repo/releases/latest重定向到发布的最新版本,所以我在想类似的事情:
wget https://github.com/some-example-repo/download/*????/package.V???*-linux-arm64.tar.gz
Run Code Online (Sandbox Code Playgroud)
想一想,既然我已经把这个作为一个问题了,我认为 wget 不可能自动完成 URL...
我有两个 GitHub 帐户。一份供个人使用,另一份供商业使用。每个都设置有自己的 SSH 密钥gh_personal和gh_business内部~/.ssh.
我有一个个人项目位于~/code/bejebeje. 每次我去从事该项目时,我都必须记住运行以下命令:
eval `ssh-agent -s`
Run Code Online (Sandbox Code Playgroud)
其次是:
ssh-add ~/.ssh/gh-personal
Run Code Online (Sandbox Code Playgroud)
只有这样我才能做诸如git pull和 之类的事情git push。
你猜对了,我总是忘记这样做。
有没有办法让我的 Linux 系统在我进入目录时自动执行此操作~/code/bejebeje?
我在 Arch Linux 上。
GitHub GUI 允许我将 zip 文件上传到存储库,但不允许我提取它。
我可以直接上传文件(未存档),但问题是有些文件是目录,而 GitHub GUI 不允许上传目录。
有没有办法从命令行解决这个问题?