我看到了很多对于“:
”的使用。jobs:
myjob:
steps:
- name: checkout
uses: "actions/checkout@something"
- ...
但是我找不到这行代码的目的:
uses : "actions/checkout@something"
它是否类似于这个?
run: git checkout something
我看到了很多对于“:
”的使用。jobs:
myjob:
steps:
- name: checkout
uses: "actions/checkout@something"
- ...
但是我找不到这行代码的目的:
uses : "actions/checkout@something"
它是否类似于这个?
run: git checkout something
uses : "actions/checkout@something"
,它将使用 actions/checkout
github action(源代码在这里),与 ref something
一起使用。这个 ref 只是指 github action 的版本(与您的存储库无关)。
uses
语句是指在此步骤中正在使用的 github action。来自Github 文档关于 jobs.<job_id>.steps[*].uses
的说明如下:git fetch --depth 1 origin $GITHUB_REF
该操作还会在git配置中保留授权令牌。这样,您的工作流程可以运行经过身份验证的git命令。{{ github.repository }}
),但您也可以使用此操作来克隆不同的存储库,并指定其他参数,如token
,branch
,path
等...fetch-depth
设置为0
(默认为1
)来检出所有git历史记录,参见用法文档:- uses: actions/checkout@v2
with:
fetch-depth: 0
理解术语使事情更清晰
附注:当使用git fetch时,本地将创建一个自定义分支,形式为“origin/name_of_branch”,可以在本地查看此分支上的更改。这些更改是文件的更新版本,而不是在GitHub上检查提交时看到的特定更改。
回到问题
当执行操作时
jobs:
myjob:
steps:
- name: checkout
uses: "actions/checkout@something"
- ...
默认执行的步骤包括:
克隆触发工作流程的当前仓库。
根据定义的事件(例如push或pull request)执行以下操作:
git fetch --depth 1 $GITHUB_REF
在命令中引用的环境变量在此处进行了说明。 可以添加其他选项以实现特定的流程或场景,例如检出不同的分支。这些选项可以在官方仓库自述文件中找到。
git fetch
操作。 - Mehdi Charife