小编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
查看次数

如何使用 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
查看次数

git删除以冒号开头的文件

我不小心创建了一个名为的文件:w.我设法通过使用zsh选项卡功能删除它.但我不能从我的git缓存中删除它.

    git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   Gemfile
#   modified:   Gemfile.lock
#   new file:   config/newrelic.yml
#
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    :w
#
Run Code Online (Sandbox Code Playgroud)

然后

git rm :w
fatal: pathspec 'w' did not match any files
Run Code Online (Sandbox Code Playgroud)

unix git filenames

6
推荐指数
1
解决办法
1114
查看次数

git Push 和 git Push origin master 的区别

我想知道如果我只使用 git 命令:

git push
Run Code Online (Sandbox Code Playgroud)

如果我使用

git push origin master
Run Code Online (Sandbox Code Playgroud)

那么,它们之间有什么区别呢?

我正在 gitlab 上工作,并且我有开发人员访问我正在从事的项目的权限。我正在使用 Windows 命令行。

git branch push repository gitlab

6
推荐指数
1
解决办法
2万
查看次数

ArgoCD 无法与“请求 SSH 代理但未指定 SSH_AUTH_SOCK”同步

我们已经愉快地将 ArgoCD 与公共存储库一起使用了一段时间,但在尝试将 ArgoCD 连接到私有存储库时遇到了问题。我们有一个Application看起来像这样的:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: example-app
  namespace: argocd
spec:
  destination:
    name: example-cluster
    namespace: open-cluster-management-agent
  project: ops
  source:
    path: .
    repoURL: ssh://git@github.com/example-org/example-repo.git
    targetRevision: HEAD
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
    - Validate=false
    - ApplyOutOfSyncOnly=true
Run Code Online (Sandbox Code Playgroud)

以及相应的密钥,其密钥如下所示:

apiVersion: v1
metadata:
  labels:
    argocd.argoproj.io/secret-type: repository
  name: example-repo
  namespace: argocd
type: Opaque
stringData:
  sshPrivateKey: |
    -----BEGIN OPENSSH PRIVATE KEY-----
    ...
    -----END OPENSSH PRIVATE KEY-----
  url: ssh://git@github.com/example-org/example-repo.git
kind: Secret
Run Code Online (Sandbox Code Playgroud)

ArgoCD 无法同步此应用程序并显示以下错误:

rpc error: code = Unknown desc = …
Run Code Online (Sandbox Code Playgroud)

git ssh kubernetes gitops argocd

6
推荐指数
1
解决办法
2万
查看次数

Gitlab-ci:如果 MR 存在,则触发 merge_request 分离管道,如果不存在,则触发源分支管道。这两条管道不应同时运行

当我创建 MR 时,我想在 MR(合并请求)命令部分查看声纳结果。

我的主要期望:

  • 如果源分支存在现有 MR,则触发分离管道(不触发功能管道。我只需要那个来检查 MR 命令中的声纳结果)
  • 如果源分支没有现有的 MR,则只需触发正常的功能(源)分支管道

我尝试用下面的示例阶段来做到这一点。但是当我将提交推送到源管道时,而源分支存在 MR。我仍然得到双管道。分离管道和源管道正在运行,我不想同时看到两者,而且除了不使用规则配置之外。如何将除部分与规则部分集成。

这是我的 gitlab-ci 阶段:

deploy:
  stage: deployment
  when: manual
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CUSTOM_VARIABLE == "true" || $CUSTOM_VARIABLE == "true"'
  script:
    - ....
    - ....
  except:
    - tags
    - main
Run Code Online (Sandbox Code Playgroud)

我还尝试了以下规则,如果其中一项符合我的条件,则不要运行另一项。但它仍然触发两条管道。

deploy:
  stage: deployment
  when: manual
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CUSTOM_VARIABLE == "true"'
      when: on_success
    - if: '$CI_PIPELINE_SOURCE == "push" && $CUSTOM_VARIABLE == "true"'
      when: on_success
  script:
    - ....
    - ....
  except: …
Run Code Online (Sandbox Code Playgroud)

gitlab sonarqube gitlab-ci

6
推荐指数
1
解决办法
4774
查看次数

是否有 GitHub 支持的 git 预告片的完整参考列表记录在某处?

GitHub 支持一些 git(提交)预告片,尽管它不这样称呼它们,例如支持Co-authored-by:,出于 GitHub 的目的,必须用两个空行与提交消息分隔。git commit --trailer(顺便说一下,我不确定是否添加那些空行。)

显然还有更多,例如Relates-to: [#12312312],但我不太确定 GitHub 是否对后者有更多的魔力,如果你在其他任何地方包含 #12312312 ,这意味着它可能会在任何上下文中创建一个链接。

是否有GitHub 支持的此类预告片的完整参考列表,这意味着它们在 GitHub 上做了一些值得注意的事情,并在某处记录了?

github

6
推荐指数
0
解决办法
425
查看次数

Git 提交视图未显示在 VSCode 源代码控制面板中

问题:

当我在 VScode 中打开源代码控制面板时,通常我能够看到任何差异,并且在面板底部我可以打开/关闭各种选项卡,例如提交、分支、远程等。对于特定存储库,这些选项卡全部消失。

它应该是这样的:

  • 这些选项卡位于面板底部
  • 我可以从三点菜单中选择/取消选择要显示的选项卡

但是,它们没有显示在这个特定的存储库上。这是它在相关存储库上的外观:

  1. 我看不到面板底部的选项卡
  2. 我无法从三点菜单中显示/隐藏它们

笔记:

  • 我检查了 VScode 设置,用户和工作区设置完全相同
  • 此目录中存在 git 存储库(用于显示正常的选项卡)
  • 我不想从命令行执行此操作

visual-studio-code

6
推荐指数
3
解决办法
1万
查看次数

cURL 和 shell 任务

我在项目中使用 gulpfile.js 来下载文件,并且工作正常。

var shell = require('gulp-shell');
gulp.task('folder_xyz', shell.task('curl --output xyz.zip --header "PRIVATE-TOKEN: theyuuin_io2_kj" "https://example.com/api/v4/download?job=xyz"'));
Run Code Online (Sandbox Code Playgroud)

这里一切正常,我可以下载该文件。但是我在 GitLab 中设置了名为download_folder_xyz. 现在我想使用这个环境,想用新变量替换私有令牌,我该download_folder_xyz怎么gulp.task()做?

node.js gitlab gulp

6
推荐指数
1
解决办法
157
查看次数

使用在 [windows-latest] 上运行的工作流程创建 Github 存储库的 Zip 文件

我正在尝试使用 git hub 工作流程创建我的存储库的 zip 文件。下面是代码:

name: .NET    
on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:

    runs-on: [windows-latest]

    steps:
    - uses: actions/checkout@v3
    
    - name: Set Up MS Build
      uses: microsoft/setup-msbuild@v1
      
    - name: Restore dependencies
      run: nuget restore Solution.sln
      
    - name: Build Solution
      run: msbuild Solution.sln 
    
    - name: Creating Zip
      run: zip -r release.zip . -x ".git/*" ".github/*"
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误:

> The term 'zip' is not recognized as a name of a cmdlet, function,
> script file, …
Run Code Online (Sandbox Code Playgroud)

github github-for-windows github-actions

6
推荐指数
1
解决办法
2137
查看次数