The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

TortoiseGit 使用 Assume Unchanged 與 Skip worktree 的注意事項

在 TortoiseGit 的 Commit 視窗有兩個進階功能,分別是 Assume Unchanged 與 Skip worktree 功能 (如下圖示)。當你試圖 Commit 檔案時,可能會有一些檔案不想被 Commit 進版本,這時你可能會想用這兩個功能,這兩個功能使用起來很像,但還是有些微的差異,差異部分之後另闢文章說明。更重要的是,很多人用了這功能後就悲劇了,因為該檔案再也無法出現在 Commit 視窗之中,然後你就要花上大把時間找到到底怎樣解除,本文也將說明解除檔案不能被 Commit 的窘境。

... 繼續閱讀 ...

介紹好用工具:BFG Repo-Cleaner (刪除 Git 儲存庫大型歷史檔案)

由於早期的 Subversion (SVN) 專案都擺在公司內部,儲存庫的大小不太會去管控,以致於有些專案含有非常大量的文件,我們就有個專案的 Docs 目錄下擁有超過 1GB 的資料,想當然爾在移轉到 Git 之後,所有的檔案都將被留下,可想而知這種儲存庫要搬上雲端有多麼困難,本文將介紹一套以 Java 寫成的好用工具 BFG Repo-Cleaner 可以幫助我快速刪除版本歷史紀錄中不需要出現的檔案或目錄,以大幅減少 Git 儲存庫的大小。

... 繼續閱讀 ...

Git 儲存庫太大導致無法上傳 Visual Studio Online 如何處理

照理來說,版本控管通常用來控管程式原始碼,不過第一次使用版控的人總是抓不準尺度,硬是把動輒數百 MB 的影片放進版本庫,不然就是設計師把數十到數百 MB 的 ai 檔簽入到版本庫中。你知道的,Git 版控會把所有東西放進版本庫,刪掉的檔案也一樣,但 Git 優異的檔案系統設計,這點小檔案不成問題。不過,當你要 push 到遠端儲存庫時,像是 GitHubBitbucketVisual Studio Online 這類遠端服務,通常都會有些 push 的限制,這篇文章主講 Visual Studio Online 的解決方法。

... 繼續閱讀 ...

介紹好用工具:SubGit ( 輕鬆將 SVN 專案移轉到 Git 的工具 )

前陣子大量將公司現有放在 Subversion (SVN) 的專案移轉到 Git 進行版控,有些搬到 GitHub,有些則搬到 Visual Studio Online,過程中我研究、測試了很多套移轉工具,大部分工具都需要做很多前置作業才能執行 Svn to Git 移轉專案,不過我最終選擇了 SubGit 這套工具,他是讓你花最少時間 (幾乎不用準備使用者對應檔) 就可以移轉成功的一套了,我們來看看這套工具如何使用吧!

... 繼續閱讀 ...

透過 HTTP 與 HTTPS 連接 Git 儲存庫時如何記憶常用密碼

不知道各位在 Windows 平台使用 Git 的時候有沒有這種困擾,每次要 git push 的時候都要不斷的輸入帳號密碼,我覺得經年累月之下對工作生產力的損失其實還蠻大的。我用 SSH 協定連接 Git 儲存庫時,都會先設定好 SSH Key 並上傳 Github 或 Bitbucket 免除不斷輸入帳密的問題,但用了 https 為主的連接方式時 ( Visual Studio Online ),預設就不支援了,今天這篇文章就來告訴大家如何設定 http / https 也能記憶密碼的方法。

... 繼續閱讀 ...

如何讓 Git 僅匯出在特定版本中新增或修改過的檔案

上週幫客戶處理一個年久失修的 PHP 專案,修正程式的過程中,我利用 Git 幫我直接在測試機上做好原始碼版控與備份等工作,待修正工作完成後,想要把最近一次 commit 過的變更檔案匯出,卻突然不知道指令怎麼下,研究了一下發現還蠻簡單的,今天這篇文章我打算解釋使用 TortoiseGitGit for Windows 與在 Linux 底下使用 Git 工具,應該如何順利的匯出特定版本下的變更檔案。

... 繼續閱讀 ...

遷移 Git 遠端儲存庫的 3 種方法與注意事項

用了 Git 之後,遷移儲存庫 (Repository) 真的簡單到不行,最近把一些公司用 Git 版本控管的專案遷移到 Visual Studio OnlineBitBucket 平台,雖然遷移的過程十分順利,但還是有些注意事項與經驗可以分享,而且應該也有很多人不太清楚怎樣在不同平台之間遷移 Git 遠端儲存庫,所以特別撰文說明。

... 繼續閱讀 ...

Visual Studio Tools for Git 處理斷行字元 (CRLF) 的注意事項

今天遇到一個奇怪的問題,我在開發一個使用 Git 版本控管的 ASP.NET MVC 專案時,發現無法在 Visual Studio 2013 中使用「同步處理」功能,該專案明明就沒有異動過,但就跟我說有檔案變更,我怎樣都無法同步,完全鬼打牆。另一方面,在 Visual Studio Tools for Git 裡面的「變更」視窗所看到的檔案變更,經常與使用 Git for Windows 或 TortoiseGit 視窗中看到的檔案不一樣,這也是很煩人的事,因為這樣就很難在同一個專案下交替使用不同的 Git 版控工具,本篇文章將來介紹各種不同使用 Visual Studio Tools for Git 的注意事項。

... 繼續閱讀 ...

GitHub for Windows 內建 Git Shell 執行時顏色所代表的意義

在使用指令列版控的過程中,經常有機會用到 Git Shell 這套優異的 Git 版控環境,一來他使用 Windows PowerShell 為核心,其訊息顯示與輸入都支援 Unicode,比較不會有中文字集轉換的問題;二來輸入命令或分支名稱的時候還有 IntelliSense 功能協助,非常貼心的設計;三來在版控的過程中,可以看出當下工作目錄位於哪個分支上,這個提示也很棒;四來常會看到他透過顏色與一些特殊符號提示你目前工作目錄的狀態,但不特別看文件還真的不太容易知道它顏色代表的意義,因此特別撰文解說。

... 繼續閱讀 ...

如何將 Visual Studio 2013 現有專案加到 GitHub 遠端儲存庫

剛打算將一個手邊的 ASP.NET MVC 測試專案上傳到 GitHub 專案中,主要是想測試 Visual Studio 2013 的 Git 版本控管介面,看它是否能夠讓我完全不輸入指令的方式來完成所有 commit, remote, push 等工作,結果還真的可以,過程中我也把所有步驟拍下來,有興趣的 Git 同好可以參考看看。

... 繼續閱讀 ...