# discourse\_docker 中的浅层 git fetch 回归

**URL:** https://meta.discourse.org/t/shallow-git-fetch-regression-in-discourse-docker/172324
**Category:** Support
**Created:** [2020年十二月5日 11:24 UTC](https://meta.discourse.org/t/shallow-git-fetch-regression-in-discourse-docker/172324 "2020-12-05T11:24:46Z")
**Posts on this page:** 1
**Showing post:** 18

<div class="post-metadata">

### Author: ![dachary](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dachary/32/119731_2.png) [@dachary](https://meta.discourse.org/u/dachary)
#### Post date: [2021年一月6日 10:18 UTC](https://meta.discourse.org/t/shallow-git-fetch-regression-in-discourse-docker/172324/18 "2021-01-06T10:18:12Z")

</div>

感谢澄清：这正是我之前遗漏的部分。对于和我一样感到困惑的朋友，获取 Discourse 的发布标签可以通过以下步骤实现：

- 确保 `app.yml` 中的 **version** 参数 **未设置** ，例如：

```plaintext
params:
  db_default_text_search_config: "pg_catalog.english"
  # version: stable

```

- 在 `app.yml` 末尾添加代码以检出所需版本，例如：

```plaintext
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
+ - exec:
+ cd: $home
+ cmd:
+ - git fetch --depth=1 origin tag v2.5.0 --no-tags
+ - git checkout v2.5.0

```

运行 `./launcher rebuild app` 时，会发生以下情况：

- 默认 **version** （即 [test\_passed](https://github.com/discourse/discourse/tree/tests-passed) 分支）会被检出。
- [v2.5.0](https://github.com/discourse/discourse/releases/tag/v2.5.0) 标签会被拉取并检出，从而有效替换之前的版本。

---

_[View the full topic](https://meta.discourse.org/t/shallow-git-fetch-regression-in-discourse-docker/172324)._
