小编tor*_*rek的帖子

了解.git/config的'remote'和'branch'部分

这里的内容remotebranch我的部分.git/config文件.

[remote "origin"]  
    url = https://EvanAad@bitbucket.org/EvanAad/bitbucketstationlocations.git  
    fetch = +refs/heads/*:refs/remotes/origin/*  
[branch "master"]  
    remote = origin  
    merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)

这些部分内容的含义和目的是什么,特别是fetchmerge子部分?Git如何使用这些信息来指导其运作?

git git-merge git-config git-fetch git-remote

7
推荐指数
2
解决办法
3777
查看次数

如何撤消 git stash apply

我还没有在我的分支中提交更改。我决定应用我的一些藏匿处。Stash 应用了自动合并和冲突。我意识到,隐藏的更改不适合我,并且想要取消隐藏更改,但不要在存储之前松开我的更改。试图做

git stash show -p | git apply -R
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。我有错误消息:错误:补丁失败,...错误:补丁不适用

如何撤消存储应用而不丢失我未提交的更改?

git

7
推荐指数
1
解决办法
5740
查看次数

bitbucket 中某些文件的编辑按钮被禁用

bitbucket 中某些文件的编辑按钮被禁用。

例如:

在此输入图像描述

但在这个仓库中,我可以编辑其他文件。

像这样:

在此输入图像描述

我无法理解其中的原因。

bitbucket

7
推荐指数
1
解决办法
1807
查看次数

Github 操作:在单个工作流程中为多个分支创建版本

我是 github actions 的新手,我对它们的工作原理有很好的了解,但我在为多个分支创建版本时遇到了麻烦。是否可以在单个工作流程中从多个分支创建多个版本?

我目前的工作流程为我的主分支生成和部署版本。我现在想为第二个分支创建版本,该分支稍微相似但具有不同的功能。

我的问题和疑问是:

  • github 工作流程如何区分主分支和其他分支以从主分支中的 .yml 文件创建版本?我知道你可以使用,if: github.ref但我不知道如何去做。
  • 我应该在第二个分支中创建一个单独的 .yml,使用单独的工作流程并创建不同的标签吗?
  • 我是否应该在矩阵中创建另一个仅依赖于第二个分支的条目?

以下是我的主分支中的 .yml:

name: "CI/CD"

on:
  push:
    branches: [ main, example ]
  pull_request:
    branches: [ main, example ]

env:
  QT_VERSION: 5.15.2
  BUILD_TYPE: Release
  packageGlob: justAnExample-continuous-*.*

jobs:
  main_build:
    name: ${{ matrix.config.name }}
    runs-on: ${{ matrix.config.os }}
    strategy:
      fail-fast: false
      matrix:
        config:
        - {
           name: "Linux-amd64"
           , os: ubuntu-18.04
           , QT_INST_DIR: /opt
           , install_ninja: "sudo apt-get install -qq ninja-build"
           , install_pkgs: "sudo apt-get -qq install libgstreamer-plugins-base1.0-0"
           , …
Run Code Online (Sandbox Code Playgroud)

github github-actions

7
推荐指数
1
解决办法
9859
查看次数

7
推荐指数
1
解决办法
1300
查看次数

如何使用 Github 工作流程的二进制文件设置 Gihub Secret?

我想将我的 API 配置文件 ( binary.file) 之一添加到 Github 机密 (MY_BINARY_SECRET)。binary.file然后它将在工作流程中再次读取和写入:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install System
        run: |
          sudo apt-get update
          sudo apt-get install -y pip python3.8-venv libcurl4-openssl-dev

      - name: Set up configurations
        shell: bash
        run: |
          echo "${{ secrets.MY_BINARY_SECRET }}" > binary.file
          python3 .... # the python script will need binary.file to complete authentication  
Run Code Online (Sandbox Code Playgroud)

然而,我尝试了很多个小时,用不同的方法将二进制内容复制到 Github Secret,但都失败了。我试过pbcopylesscat。有谁知道如何在 github actions 中通过 Github Secret 编写二进制文件?或者更好的解决方案?

谢谢你!

binary binaryfiles github github-actions

7
推荐指数
1
解决办法
1629
查看次数

无法在复杂的 bash 命令上使用“run”例程

得到这个命令:cd /some/dir; /usr/local/bin/git log --diff-filter=A --follow --format=%aI -- /some/dir/file | tail -1

我想从中得到输出。

尝试过这个:

my $proc2 = run 'cd', $dirname, ';', '/usr/local/bin/git', 'log', '--diff-filter=A', '--follow', '--format=%aI', '--', $output_file, '|', 'tail', '-1', :out, :err;

没有任何输出。

尝试过这个:

my $proc2 = run </usr/local/bin/git -C>, $dirname, <log --diff-filter=A --follow --format=%aI -->, $output_file, <| tail -1>, :out, :err;

Git 抛出错误:

fatal: --follow requires exactly one pathspec

当直接从命令行运行时,相同的 git 命令运行良好。

我已经确认了两者$dirname并且$output_file都是正确的。

git log --help没有为我阐明这一点。命令直接从命令行运行良好。

更新:所以如果我去掉这个| tail -1位,我会从 …

raku

7
推荐指数
1
解决办法
97
查看次数

运行 Github Action 当 PR 从特定分支名称提升到特定分支名称时?

我们有一个公共 SDK 存储库,我正在为其编写多个 github 工作流程。develop其中一个工作流程包括当 PR 从 发起到时生成发布 SDK(缩小,用私钥编码)mastertask/**另一个此类操作是在从一个分支到另一个分支引发 PR 时运行静态代码检查develop。我尝试使用以下工作流程:

name: validate PR raised from task/** branched to develop branch
on:
  pull_request:
    branches: [ task/** ]

  pull_request_target:
    branches: [ develop ]
  ...

Run Code Online (Sandbox Code Playgroud)

该代码被推送到开发分支。但这会在每次提出或修改 PR 时触发工作流程两次,表明该操作正在使用“OR”配置运行。我只想在“AND”条件下运行此工作流程一次(即当源分支为task/**AND 目标分支为develop

对于我的第一个用例,只有内部开发人员才能触发生成构建,这一点非常重要。那么是否可以针对特定目标和源分支运行操作?

github github-actions

7
推荐指数
1
解决办法
3926
查看次数

如何在可重用的 github 工作流程中执行远程脚本

我在一个名为的存储库中有这个工作流程terraform-do-database,我正在尝试使用来自公共存储库的可重用工作流程foo/git-workflows/.github/workflows/tag_validation.yaml@master

name: Tag Validation

on:
  pull_request:
    branches: [master]
  push:
    branches:    
      - '*'         # matches every branch that doesn't contain a '/'
      - '*/*'       # matches every branch containing a single '/'
      - '**'        # matches every branch
      - '!master'   # excludes master
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:

  tag_check:
    uses: foo/git-workflows/.github/workflows/tag_validation.yaml@master
Run Code Online (Sandbox Code Playgroud)

这是来自公共存储库的可重用工作流程文件git-workflows,其中包含应在其上运行的脚本。发生的情况是工作流程正在尝试使用存储库内的脚本terraform-do-database

name: Tag Validation

on:
  pull_request:
    branches: [master]
  workflow_call:

jobs:

  tag_check:
    # The type of …
Run Code Online (Sandbox Code Playgroud)

workflow github github-actions

7
推荐指数
2
解决办法
6073
查看次数

Github Actions - 达到堆限制分配失败

Github Action 给出了最后一个“run: npm run build”的错误

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
Error: Process completed with exit code 1.
Run Code Online (Sandbox Code Playgroud)

我的工作流程文件

name: Node.js CI

on:
  push:
    branches: ['master']

jobs:
  build:
    runs-on: self-hosted

    strategy:
      matrix:
        node-version: [16.x]
        # See supported Node.js release schedule at https://nodejs.org/en/about/releases/

    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'
      - run: npm i
      - run: npm i
        working-directory: client …
Run Code Online (Sandbox Code Playgroud)

javascript github npm github-actions

7
推荐指数
1
解决办法
9850
查看次数