簡體   English   中英

Github 操作 - 檢查另一個 repo 並合並遠程分支 - 奇怪的行為

[英]Github Actions - Checkout another repo and merge a remote branch - strange behavior

我有一個從遠程存儲庫中提取的 checkout/v3 操作

 - uses: actions/checkout@v3
    with:
      repository: myorg/myrepo
      ref: mybranch
      token: ${{ secrets.ACCESS_TOKEN }}

然后嘗試合並到遠程分支

  - run: |
      git config --global user.email "me@myorg.com"
      git config --global user.name "me"
      git fetch
      git merge mybranch origin/${{ env.ANOTHER_BRANCH}}

我遇到的第一個問題是這失敗並出現意外錯誤

fatal: refusing to merge unrelated histories

這些都是主分支的分支,只有 1 個字母更改測試提交給 ANOTHER_BRANCH。

添加設置 --allow-unrelated-histories 使我克服了該錯誤,但隨后我遇到了合並沖突。

問題是這是我唯一遇到沖突的地方,所以我無法解決它。 如果我在 from ANOTHER_BRANCH -> mybranch 之間創建拉取請求,則沒有報告的沖突。 如果我在本地拉下這些分支並進行相同的合並,則不會發生沖突。 似乎沖突與我的 GH Action 用例有關。

有任何想法嗎?

GitHub 操作默認使用淺克隆,作為一種優化:如果你不打算使用它,那么獲取整個歷史是沒有意義的!

但是,在您的用例中,您正在使用歷史記錄,因此您可以使用fetch-depth: 0請求它。 這將獲取完整的歷史記錄。

解決方案,在具有相同修復的不同問題中找到:

- uses: actions/checkout@v3
  with:
    fetch-depth: 0

參考: https://stackoverflow.com/a/71819349/3216427

這些都是 main 的分支

確保git branch -a --contains main

他們不是

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM