2021-08-30 10:36 PM 1 9,998
同事遇到一個 Git 錯誤,印象裡我有遇過,原本信心滿滿準備找出 KB 文章秒殺它,卻發現上回沒寫筆記。幸好還記得原因跟解法,補上筆記。 錯誤會發生 Cmder 下 Git 指令或使用軟體執行 Git 版控動作時,訊息如下: fatal: Unable to create 'D:/git-sourc...
2021-08-04 08:40 PM 0 2,120
之前寫過小工具將 git diff 程式差異報告轉成網頁好讀版,讓版本控管流程更符合人性,但挑戰總是會接踵而來。同事通報,網頁好讀版在處理某個 Commit 差異報告時爆炸了。未看先猜檔案過大,果然,git diff 輸出檔高達 77MB!! 程式碼是純文字,77MB 都可以寫出賈維斯 Jarvis...
2021-08-02 08:36 PM 0 4,015
這是我自己常遇到的問題 - 先寫了專案雛型,用 git init 就地建立 Git Repository,在第一次 Commit 放入雛型版本,之後陸續修改加入新的 Commit。 專案第一次上線用 git diff 產出 Compare List,卻發現我無法列舉所有專案檔案。原因是產生 git ...
2021-05-19 10:00 PM 0 9,382
同事出了一題 Git 隨堂測驗:有 Git 歷程如下,feature 與 master 分支的合併位置有誤(下圖藍紫線交會處,Commit b9933b90),想拆掉重做,請問單兵如何處置? 第一次處理正式環境的取消合併,加上實際案例還涉及 pull、rebase,狀況又再複雜一些,讓我有點手忙腳...
2021-05-18 09:09 PM 6 3,713
同事遇到的茶包。 git diff 時某文字檔被當成二進位檔案無法顯示差異,後來發現是 Unicode 編碼(UTF-16 LE with BOM/UCS-2 LE with BOM)造成,用以下範例重現: type a.txt 可檢視文字內容,但 git diff 比對時卻出現 "Bi...
2021-01-09 06:55 AM 1 1,989
前陣子分享將 Git diff 文件轉成網頁版程式異動對照表(Compare List)的做法,上路沒多久便觸礁。原因是一次新增大量檔案(例如:網站新增內容,包含大量 HTML、CSS、JS 檔全文)的 diff 檔可能超過 10MB,轉換產生的 HTML DOM 過於龐大讓瀏覽器很卡。Chrome...
2021-01-05 11:50 PM 0 8,168
前幾天提到開源專案 - Gitea 不僅跨平台、安裝設定超簡單(一個 exe 檔就搞定,還內建設定介面),號稱「輕量級」功能卻不陽春,不愧是架設 Git 私服的第一品牌。但對我而言有一點美中不足,Gitea 用 Golang 開發,用不順手想自己動手修改,我連專案怎麼開啟都不知道。 大部分的人都下...
2021-01-03 09:27 AM 5 23,188
昨天聊到在 Windows 架 Git 私服,留言區大家一面倒狂推 Gitea,力道之強,讓我覺得不試試看會終生遺憾。改變計劃,決定先把矮黑猩猩 (Bonobo Git Server) 放一旁,先來試試 Gitea。 我向來偏好輕巧簡單的解決方案,GitLab 功能強大但太笨重,相較之下,Gitea...
2021-01-02 02:15 PM 17 24,622
Git 是分散式版控,在任何資料夾下個 git init 指令就能開始管理版本,不管是 Side-Project、小程式,企劃案、設計草稿、專題作業還是碩士論文,Git 就能幫你保留版本回到從前,不用擔心改壞沒法重來。不過,只存在自己電腦風險太高,要是硬碟壞了心血結晶便付之東流,將資料定期推送到伺服...
2020-12-30 11:29 PM 0 3,506
用 Visual Studio 做 Git Rebase、Merge,操作到一半個人電腦忽因不明原因斷電(不是重開機,是電源自己關閉,疑似硬體問題格外讓人發毛,但會是另一個故事),重開機進入系統,除登入 Windows 時間稍久,其他看來還好。 等重新打開 Visual Studio 才發現不妙,斷...
2020-12-10 09:00 PM 0 5,190
為了升級 ASP.NET Core 5.0,我把 Visual Studio 2019 升到 16.8,發現 Git 介面做了大幅革新,新介面更好用,但要花點時間熟悉。 完整介紹可以看 Visual Studio PM Patrik 的部落格文章 - Announcing the Release o...
2020-12-05 11:49 AM 3 3,548
前幾天介紹了將 git diff 差異報告轉成 HTML 的簡便做法,讀者 LinnieKao 留言問到 git diff 顯示選項的問題,這裡補充說明。 diff2html 產生的左右對照比較表是最不花腦力最容易理解的形式,任何人都能輕易指出差異所在(看不看得懂程式在寫什麼是另一回事),但缺點是資...
2020-12-02 10:13 PM 2 6,100
程式異動對照表 (Compare List) 是上線流程必備文件之一,Git 內建 git diff 指令,能整理出鉅細靡遺的異動記錄,完整度之高,甚至能 Email 給其他開發者跑 git apply 同步原始碼版本,不管是複核、稽查或存證需求,git diff 報告的有效性無庸置疑。不過,純文字...
2020-11-30 09:14 PM 0 3,858
再談上線合併的分支策略一文提到「合併前先 Rebase 能做出乾淨漂亮的線形」(如下圖之上下對照),但比較費事,有時需重複排除修改衝突,這篇文章就來實證。 照慣例,用一段 DOS 批次檔備妥實驗環境: rem 請先建好實驗資料夾,並修改以下變數 set lab_folder=D:\GitTest ...
2020-11-29 09:08 AM 0 3,879
Git Cherry Pick 的後遺症一文聊過使用 Git 做上線合併可能遇到的困擾。若直接用 master 當開發主軸,開發者平日陸續提交 Commit,等要上線時就必須從交錯的 Commit 中 Cherry-Pick 挑出該次要上的項目拉進上線分支(例如: release)。若所有修改都要上...
2020-10-25 04:24 PM 3 8,799
這也是我曾被問過的 Git 問題,之前一知半解回答得哩哩辣喇 - 為什麼 Visual Studio 的 Git Commit 資訊欄有時會出現兩組人名時間?有時兩組不同人,有時是作者出現兩次?在什麼狀況下會出現? 這篇文章將試著回答以上問題。 Git 的每個 Commit 都有作者(Author...