【Github】refusing to merge unrelated histories

更新於 發佈於 閱讀時間約 3 分鐘

這是剛剛才發生的事,新鮮出爐

在完成短網址產生器的作業後,正準備將檔案上傳 Github
建立了新的 respository ,就像之前練習開新分支和合併一樣,按下了 merge 以後……

等愣!跳出了錯誤訊息:

refusing to merge unrelated histories


在驚恐之餘,趕緊搜尋了這個訊息

首先看到的是這一篇:How to Solve fatal: refusing to merge unrelated histories


裡面提到的方式是直接設定成允許合併
但能用圖形化介面處理的事情就先不用命令(x)

我注意到網頁中一個相關連結上的「rebase」
這個指令在我使用 sourcetree 的時候就有看到,就在 merge 旁邊

於是我動手開始查這兩個指令的差異


簡單的列出差異點如下:

*Merge
1. 在主分支上對副分支執行,將副分支合併進來
2. 不影響歷史紀錄
3. 會建立一個新的 commit 用來 merge

*Rebase
1. 在副分支上對主分支執行,副分支將會接到主分支後面
2. 會更動歷史紀錄(commit的時間等)
3. 不會建立用來 rebase 的 commit
 副分支會複製一份新的 commit(SHA-1值不同) 接到主分支後面

考量到將以 Github 的分支為主
我嘗試了在本機端的分支對來自 Github 的分支執行 rebase

伴隨著進度條完成,畫面上的 commit 變為同一條分支
而我原先本機端參差不一的 commit 建立日期瞬間全部變得一模一樣


雖然 commit 依然按照先前的順序一個不少的在上面,但心中有種什麼不見了的感覺……(是歷史紀錄)


為了寫這篇文章,我又重新回去翻了遍參考連結
裡面有提到 rebase 的主副誰先誰後,以最後的檔案來說沒什麼差別

那如果我以 Github 的分支,對本機端的分支執行 rebase 呢……?

按照參考連結的內容,我試著 reset 回還沒 rebase 的 commit 上
但是本機端的 commit 的 date 並沒有改變,看來是回不去了(?)

之後有機會再試試看用新分支 rebase 本機的分支好了


參考連結:
How to Solve fatal: refusing to merge unrelated histories
【Git教學】分支合併: merge 與 rebase 差異
合併分支【分支】 | 連猴子都能懂的Git入門指南
另一種合併方式(使用rebase) - 為你自己學Git | 高見龍

留言
avatar-img
留言分享你的想法!
avatar-img
Boochu的沙龍
0會員
1內容數
你可能也想看
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
這篇文章提供關於Git分支(Branch)和合併(Merge)的進階教學,包含建立分支、在不同分支修改檔案、合併分支以及處理合併衝突等步驟,並輔以圖文說明,適合初學者學習。
Thumbnail
這篇文章提供關於Git分支(Branch)和合併(Merge)的進階教學,包含建立分支、在不同分支修改檔案、合併分支以及處理合併衝突等步驟,並輔以圖文說明,適合初學者學習。
Thumbnail
改稿真的不是一件需要太多情緒的事,把錯的挑出來、改掉,就這麼簡單!很少有什麼「大錯」需要去爭執誰對誰錯。不過真的滿多時候鬼遮眼或是偶爾真的會發生某種「明明前一版是對的,這一版居然是錯的」的鬼故事,把問題找出來解決就好!
Thumbnail
改稿真的不是一件需要太多情緒的事,把錯的挑出來、改掉,就這麼簡單!很少有什麼「大錯」需要去爭執誰對誰錯。不過真的滿多時候鬼遮眼或是偶爾真的會發生某種「明明前一版是對的,這一版居然是錯的」的鬼故事,把問題找出來解決就好!
Thumbnail
我們在「【開發智能合約 — Solidity系列】開發環境準備」這一個篇章有教學如何結合Remix與Github來儲存我們的程式碼,使用Remix Editor一段時間後,也順利提交Souce Code到Github,但過程中發現一個小問題,就是在Github上的歷程中發現每一次的提交作者都是「Re
Thumbnail
我們在「【開發智能合約 — Solidity系列】開發環境準備」這一個篇章有教學如何結合Remix與Github來儲存我們的程式碼,使用Remix Editor一段時間後,也順利提交Souce Code到Github,但過程中發現一個小問題,就是在Github上的歷程中發現每一次的提交作者都是「Re
Thumbnail
這篇文章將會講解 Git 專案上傳 GitHub 的流程。
Thumbnail
這篇文章將會講解 Git 專案上傳 GitHub 的流程。
Thumbnail
這篇文章將會介紹分支的合併,以及它常見的分類。
Thumbnail
這篇文章將會介紹分支的合併,以及它常見的分類。
Thumbnail
(其實圖片跟標題沒有關係) 只是我剛好看到這篇文章 覺得 很有感覺 但我覺得我還是可以做得到討厭的時候好好表達拒絕 一切 不在 本來的預想中 這陣子覺得的「迴圈」不被祂認為是「迴圈」 不過說真的過去都是發生在另一個類別 只有這次是發生在這個類別 硬要把不同類別都說成是迴圈 也可能有點強硬吧 唯一共同
Thumbnail
(其實圖片跟標題沒有關係) 只是我剛好看到這篇文章 覺得 很有感覺 但我覺得我還是可以做得到討厭的時候好好表達拒絕 一切 不在 本來的預想中 這陣子覺得的「迴圈」不被祂認為是「迴圈」 不過說真的過去都是發生在另一個類別 只有這次是發生在這個類別 硬要把不同類別都說成是迴圈 也可能有點強硬吧 唯一共同
Thumbnail
前言   這篇文章將會以 SourceTree 作為媒介,講述 Git 中關於伺服器資料儲存狀態的介紹,並介紹如何建立分支與應用。 資料上傳 | Data Commit   版本控制最簡單的介紹,其實就是把專案的資料上傳雲端,然後進行不同版本的分類,當有需要抓回某一個功能進行展演或比對時,可以從這雲
Thumbnail
前言   這篇文章將會以 SourceTree 作為媒介,講述 Git 中關於伺服器資料儲存狀態的介紹,並介紹如何建立分支與應用。 資料上傳 | Data Commit   版本控制最簡單的介紹,其實就是把專案的資料上傳雲端,然後進行不同版本的分類,當有需要抓回某一個功能進行展演或比對時,可以從這雲
Thumbnail
有此一說:身為軟體開發工程師,你可以沒有Facebook,但不能沒有GitHub。如果Git給予軟體開發工程師版本控制的能力,那麼GitHub則帶領你遨遊開源世界的美麗。 全世界最大的原始碼管理平台與開放原始碼社群 檢視公開軟體套件內程式碼,理解邏輯並正確使用 搜尋方便的套件與相關資源加速軟體開發
Thumbnail
有此一說:身為軟體開發工程師,你可以沒有Facebook,但不能沒有GitHub。如果Git給予軟體開發工程師版本控制的能力,那麼GitHub則帶領你遨遊開源世界的美麗。 全世界最大的原始碼管理平台與開放原始碼社群 檢視公開軟體套件內程式碼,理解邏輯並正確使用 搜尋方便的套件與相關資源加速軟體開發
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News