這本書一直在拿SVN和CVS 與Git進行對比。對於有過SVN和CVS經驗的開發者來講,這種方法很好,能夠通過對比去了解各種的優缺點,從而更快地掌握Git的使用方法,更加欣賞Git。而對於剛剛接觸原始碼管理的開發者,這種方式會造成一定的困擾,他們並不瞭解SVN和CVS。也許,作者出於“還是用過SVN和CVS的開發者更多一些”這種考慮。
書中提到Andrew Tridgell,然後說是大名鼎鼎的Samba的作者,這兩個名字,一個也沒聽說過。經查詢,是UNIX系列作業系統上的一個軟體,如下:
Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟體,由伺服器及客戶端程式構成。SMB(Server Messages Block,資訊服務塊)是一種在區域網上共享檔案和印表機的一種通訊協議,它為區域網內的不同計算機之間提供檔案及印表機等資源的共享服務。SMB協議是客戶機/伺服器型協議,客戶機通過該協議可以訪問伺服器上的共享檔案系統、印表機及其他資源。通過設定“NetBIOS over TCP/IP”使得Samba不但能與區域網路主機分享資源,還能與全世界的電腦分享資源。
Andrew Tridgell試圖反向BitKeeper,以開發一個能與BitKeeper互動的開源工具,這個行為激怒了BitKeeper的所有者BitMover公司,要求收回Linux社群免費使用BitKeeper的授權,迫不得已, Linus選擇了自己開發一個分散式版本控制工具以替代BitKeeper ,然後就有了Git。這個事件,恐怕要導致BitKeeper的毀滅,至少也是銷量大幅縮減。在這個開放的、能人輩出的時代,誰還會與開源社群組織為敵呢?而且,這家公司也太小家子氣,面對著這樣一個強大的開發者,當他有這樣的需求時,公司反應應當是,儘可能為之提供便利,讓他開發與BitKeeper互動的開源工具,此舉能夠更加擴大BitKeeper的使用範圍,鼠目寸光只顧著眼前蠅頭小利的結果往往是得不償失,導致誕生了強大的對手。
早在2005年7月26日,Git完成原型設計,Linus功成身退,把Git的維護交給了另外一個主要貢獻者Junio C Hamano。2005年,我在幹什麼?一片混沌之中,好像還在用VSS。我是去年,也就是2016年才知道的Git,嚴重落後於時代。
/path/to/my/workspace
/path/to/my/workspace/demo
$sudo git config--system alias.st status
$sudo git config--system alias.ci commit
$sudo git config--system alias.co checkout
$sudo git config--system alias.br branch
$git config--global alias.st status
$git config--global alias.ci commit
$git config--global alias.co checkout
$git config--global alias.br branch
vim的儲存和退出命令
按ESC鍵 跳到命令模式,然後:
:w 儲存檔案但不退出vi
:w file 將修改另外儲存到file中,不退出vi
:w! 強制儲存,不推出vi
:wq 儲存檔案並退出vi
:wq! 強制儲存檔案,並退出vi
q: 不儲存檔案,退出vi
:q! 不儲存檔案,強制退出vi
:e! 放棄所有修改,從上次儲存檔案開始再編輯