2022-03-25 10:28 PM 1 4,663
程式版控不該發生,但難免會遇到的狀況 - 想移除歷史 Commit 裡不該被放進去的檔案,例如:無保存價值的大檔或是機密資料。 如果是無用大檔,即使將檔案刪除再 Commit,日後 clone 仍會佔用頻寬及儲存空間;而機密資料則是非清除不可。Git 允許我們修改歷史並 push -f 覆寫,但實務...
2022-01-17 09:29 PM 0 1,832
在 web.config PowerShell 更新函式庫中,我借用 git diff 比對 web.config 修改前後變化。由於並非所有主機都會安裝 Git for Windows,我想到讓工具自帶可攜版 Git for Windows Portable 的解法,但有點美中不足,Git for...
2021-12-10 08:39 PM 0 1,632
大家有遇到 git diff 比對文字檔,因中文編碼更改(例如 Big5 改 UTF-8)導致結果裡有一半中文變亂碼的情況嗎?我想到一個完美解法。(我自己覺得啦,不服來戰) git diff 遇到文字檔中文編碼不同的問題之前處理過(參考:Git 實戰技巧 - 使用 git diff 比對 UTF-1...
2021-11-09 10:54 PM 1 1,480
今天遇到一個問題,想從 Git 版控找出圖檔何時被改壞。圖檔不像程式碼能用 git blame 直接找出哪一行何時被誰修改,但至少可以知道檔案在何時被誰改過,再從 Commit 調閱當時的版本加以比對。這個需求肯定有方便的 GUI 工具可以做到,但我想練習用指令完成。 假設 Git 版控有四次 Co...
2021-11-05 08:45 PM 0 1,398
Git 工具內建更新功能,執行 git update-git-for-windows 指令即可自動下載更新。(參考:更新本機 Git 到最新版 by Poy) 不過在受管控網路環境,簡單到靠北的下載動作也會因 SSL 憑證問題卡關,我已見怪不怪: VS2017 Git SSL 憑證無效問題 npm...
2021-08-30 10:36 PM 0 2,619
同事遇到一個 Git 錯誤,印象裡我有遇過,原本信心滿滿準備找出 KB 文章秒殺它,卻發現上回沒寫筆記。幸好還記得原因跟解法,補上筆記。 錯誤會發生 Cmder 下 Git 指令或使用軟體執行 Git 版控動作時,訊息如下: fatal: Unable to create 'D:/git-sourc...
2021-08-04 08:40 PM 0 1,546
之前寫過小工具將 git diff 程式差異報告轉成網頁好讀版,讓版本控管流程更符合人性,但挑戰總是會接踵而來。同事通報,網頁好讀版在處理某個 Commit 差異報告時爆炸了。未看先猜檔案過大,果然,git diff 輸出檔高達 77MB!! 程式碼是純文字,77MB 都可以寫出賈維斯 Jarvis...
2021-08-02 08:36 PM 0 2,484
這是我自己常遇到的問題 - 先寫了專案雛型,用 git init 就地建立 Git Repository,在第一次 Commit 放入雛型版本,之後陸續修改加入新的 Commit。 專案第一次上線用 git diff 產出 Compare List,卻發現我無法列舉所有專案檔案。原因是產生 git ...
2021-05-19 10:00 PM 0 3,821
同事出了一題 Git 隨堂測驗:有 Git 歷程如下,feature 與 master 分支的合併位置有誤(下圖藍紫線交會處,Commit b9933b90),想拆掉重做,請問單兵如何處置? 第一次處理正式環境的取消合併,加上實際案例還涉及 pull、rebase,狀況又再複雜一些,讓我有點手忙腳...
2021-05-18 09:09 PM 5 1,706
同事遇到的茶包。 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 0 1,182
前陣子分享將 Git diff 文件轉成網頁版程式異動對照表(Compare List)的做法,上路沒多久便觸礁。原因是一次新增大量檔案(例如:網站新增內容,包含大量 HTML、CSS、JS 檔全文)的 diff 檔可能超過 10MB,轉換產生的 HTML DOM 過於龐大讓瀏覽器很卡。Chrome...
2021-01-05 11:50 PM 0 4,219
前幾天提到開源專案 - Gitea 不僅跨平台、安裝設定超簡單(一個 exe 檔就搞定,還內建設定介面),號稱「輕量級」功能卻不陽春,不愧是架設 Git 私服的第一品牌。但對我而言有一點美中不足,Gitea 用 Golang 開發,用不順手想自己動手修改,我連專案怎麼開啟都不知道。 大部分的人都下...
2021-01-03 09:27 AM 0 12,807
昨天聊到在 Windows 架 Git 私服,留言區大家一面倒狂推 Gitea,力道之強,讓我覺得不試試看會終生遺憾。改變計劃,決定先把矮黑猩猩 (Bonobo Git Server) 放一旁,先來試試 Gitea。 我向來偏好輕巧簡單的解決方案,GitLab 功能強大但太笨重,相較之下,Gitea...
2021-01-02 02:15 PM 10 12,724
Git 是分散式版控,在任何資料夾下個 git init 指令就能開始管理版本,不管是 Side-Project、小程式,企劃案、設計草稿、專題作業還是碩士論文,Git 就能幫你保留版本回到從前,不用擔心改壞沒法重來。不過,只存在自己電腦風險太高,要是硬碟壞了心血結晶便付之東流,將資料定期推送到伺服...
2020-12-30 11:29 PM 0 2,411
用 Visual Studio 做 Git Rebase、Merge,操作到一半個人電腦忽因不明原因斷電(不是重開機,是電源自己關閉,疑似硬體問題格外讓人發毛,但會是另一個故事),重開機進入系統,除登入 Windows 時間稍久,其他看來還好。 等重新打開 Visual Studio 才發現不妙,斷...
2020-12-10 09:00 PM 0 3,842
為了升級 ASP.NET Core 5.0,我把 Visual Studio 2019 升到 16.8,發現 Git 介面做了大幅革新,新介面更好用,但要花點時間熟悉。 完整介紹可以看 Visual Studio PM Patrik 的部落格文章 - Announcing the Release o...