Category: git

前幾天看到龍哥的 YouTube 影片:【GIT 小教室】"~" 跟 "^" 有什麼不同?,赫然發現之前沒真的搞懂 HEAD1 HEAD2 的意義(其實「為自己學 Git」電子書裡有講,不知是沒翻到還是沒讀進腦袋裡,總之我就廢 Orz),難怪有時執行結果跟我想...

Git 版控入門算算一年多,自覺還算上手,能善用 Branch、Commit、Reset,要把程式改爛到回不去還真有些難度。而最美妙的是 - Git 屬分散式版控,在自己的機器可以隨意 Commit、Reset、開 Branch ,天王老子都不能管你,只要送上 TFS 或 Github 前先用 Sq...

我想處理的情境如下:Git Repository X 內含多個資料夾,每個資料夾可視為子專案,比如 Project A、B、C、D。隨著專案規模長大及時空環境改變,想將其中的 Project D 移出來,另外新建 Git Repository Y 獨立發展,而搬移時要求修改歷程必須保留。 爬文查了一...

昨天 Git 資料夾搬家一文發表後,讀者 Danny Lin 於小站留言提到一則重要觀念: 事實上 Git 並沒有記錄所謂的「搬檔/更名」動作,在 Git 眼中,不管搬檔案或檔案改名,都一律被視為刪除舊檔外加新增檔案,差別在於若刪除檔案與新增檔案的內容相似度達一定門檻(預設為50%),Git 就會將...

[2020-07-28 更正] 本篇提到使用 git mv 確保 git status 狀態為 renamed 的技巧非絕對必要性,即使狀態為 deleted + added,在 Commit 後 Git 也會自動判別成 renamed,詳情請見 冷知識 - Git 的搬檔更名跟你想的不一樣 隨著專...

工作專案採用 Git 版控接 TFS 伺服器。我遇到一個狀況:TFS 主機早期曾建了一些實驗性質的分支(例如:feature/test),在本機端已刪除,在 TFS 上也用網頁介面刪掉了。但是,在我開發機 Visual Studio 的 remotes/origin 下 feature/test 分...

目前碰到的工作環境,幾乎都有裝 Visual Studio,首次連上 TFS Git 時會使用 Visual Studio UI 設定使用姓名、Email,記憶連線 TFS 伺服器的帳號密碼,之前改用 Git 命令列工具什麼都不用設定就能操作。這次協助設定了一個沒有 Visual Studio 純用...

從 TFVC 轉換到 GIT 後(延伸閱讀:該用 TFVC 還是 Git?),我的版控習慣與態度有兩大改變。 以前使用 TFVC 時,程式要丟進 TFS 伺服器才能做版控,我常在本機寫些實驗性質或私房工具小專案,不好把公用伺服器當自己家,便沒版控無法享受改壞可以重來的便利;GIT 支援離線使用,現在...

分享私房小工具程式。 正式上線流程常需交付程式碼清單及異動程式碼,過去 TFS TFVC 時代我寫過類似的工具,改用 Git 之後,先前已分享過匯出 Git Commit 檔案並維持資料夾結構的寫法,當時是使用 PowerShell 加 xcopy。這回想更上層樓,兩個願望一次滿足 - 依資料夾結構...

工作上的小插曲。用 Visual Studio 2019 開發 ASP.NET MVC 專案,簽入 TFS Git 後同事抓回去發現漏了 /Views/Debug 下的幾個 cshtml。 聽到檔案路徑我很快就想到原因,是 .gitignore: 為避免編譯後的結果混入版控範圍,微軟提供的 Vis...

書到用時方恨少,前幾天遇到程式換版,想將 master 累積的幾次 Commit 內容合併到 release 分支準備上線。因觀念薄弱經驗不足技巧生疏,一時手忙腳亂。 痛定思痛,特別回家再演練一次 Git 合併分支上線情境,筆記備忘。 準備版本歷程實驗環境如下: Commit 1 (Init) -...

面對網頁擷圖、轉存 PDF、爬網頁、自動測試等需求,Headless Chrome 是十分可靠的免費解決方案。但由於 Chrome 屬桌面程式,實務應用上我習慣將其寫成排程程式或 Windows Service 以便掌控執行身分、執行個體數量,比直接由 IIS/IIS Express 呼叫穩定不易出...

在 Git 開分支很便宜,真正痛苦的是合併,過與不及都是災難,因此如何依專案性質、團隊習性及管理要求訂出合宜的分支策略是個重要問題。別人耍得虎虎生風的大關刀,到你手上不是敲到頭就是閃到腰,故分支策略很難拿別人的現成做法硬套蠻幹,需與專案、團隊與制度契合才能順暢。 橫柴入灶其實也行,隨便挑一個分支策略...

前篇文章介紹過怎麼用 Visual Studio 將修改「Check In」(嚴格來說是 Stage + Commit + Push)進 Git 版控,這篇聊聊 TFVC 轉換 Git 要花點時間適應的一件事 - 充滿神祕色彩,與 TFVC 大不相同的 Branch (分支)。 TFVC 切 Bra...