以pull request參與github專案開發

本魯最近看到一個有趣的專案: qucs

目的是要打造一個類似ADS, AWR一樣的開源電磁模擬軟體,基本上是個野心勃勃,不過實際上沒多少人參與的專案,老實說還真令人擔心,我覺得還沒到一般人可用的階段應該就會腰斬了吧lol
不過難得有個專案跟本科相關,就進去玩一下好了,看看bug report,爬爬程式碼還真的修掉幾個 bugs

好啦都修掉了那就來送個Pull Request吧…這玩意要怎麼送來著?
這時就只好自力救濟,問問旁邊的AZ大神跟QCL大神,QCL大神還很給力的直接殺到我房間教我;另外自己查了一點資料

...

 May 9, 2014 |    git  |    git  | 1 min  |  YodaLee

使用git squash 合併commit

小弟之前一直有個習慣,每次寫程式都要寫到結果正確了,才把該commit的commit;這樣造成的結果是,常常累積了數百行的差異才commit,要是中途不小心手滑了一下,辛苦就全化作流水了。

阿蹦大神曰:不用結果正確,編譯可過就commit

這樣…不是會跑出一堆亂七八槽的commit嗎?
這就要用到git squash功能了。

...

 April 14, 2014 |    git  |    git  | 1 min  |  YodaLee

應用git stash 於多分枝之版本控制

本文是要說明git中stash指令的應用,基本需要先知道git 基本的add, commit,以及branch的功能。

使用git進行版本控制,branch是相當重要的功能,一般會建議要開發一個新的功能,就要先分出一個新的branch,開發好新的功能後再merge到master的版本內。
編按:雖然話是這麼說啦,可是筆者在實作時通常還是一個master branch一直commit下去XD。
當分枝一多的時候,就會出現一些問題,例如在一個分枝中修改到一半的內容,例如:「雷射彈幕」,這時有些點子想要切到另一個分枝中修改其他內容,但這個「雷射彈幕」的功能還沒達到可以commit的等級,就需要stash來暫存目前修改的內容。

...

 December 19, 2013 |    git  |    git  | 1 min  |  YodaLee

git partial add

Git 是一款極為強大的工具,雖然說過於強大的功能有時會讓人感到卻步,我也是一項功能一項功能慢慢學,不會的時候就抓著會的同學問,好不容易才變得比較會一些。
最近新學會的功能是git的partial add功能,在這裡做個簡單的介紹:

使用 partial add 的功能,可以讓我們每次只 commit 一部分的東西上去,假設我在某程式開發了讀取、寫入兩樣功能,比較好的做法是讀取部分和寫入部分可以分開commit。
有一部分原因應該是這樣比較分得清楚,如果之後要從這個commit中取出修改內容,或是再修改時都更清楚一點,雖然說筆者到現在也沒有做過這樣的事,不過養成一個好習慣也是好事。

...

 October 29, 2013 |    git  |    git  | 1 min  |  YodaLee

使用vimdiff來解決git merge conflict

最近同時家裡用筆電跟辦公室用桌電,在兩個地方使用 git/github 來管理程式作業,這兩個東西加起來根本神物,本來要用隨身碟同步的東西,現在可以用 git 直接完成。
關於git的基本介紹我就不解釋了,網路上隨便一找就有一堆資源,我當初是看 progit 來學git。
用 git 會遇到的問題是:有時候檔案在github上的檔案已經更新,本地的檔案也有修改過,這時候若想要 git pull 的話會產生conflict,這時候就需要把本地的檔案刪掉重新clone使用merge來解決衝突,偏偏作者手殘常常把檔案 merge 成連«<, »>都保留下來的檔案,相當麻煩;這次好好的研究一下怎麼用vimdiff作為merge的工具,在這裡記錄一下。

...