想要做git雜碎不難,但是要變成git master就不簡單了。只要學習曹操「用人唯才」,就忍不住說「操! 這真簡單」(今天蔣幹沒來)。
找git來用不需上交友網站,可以
1.用github 大家一起交流
2.使用gitlab (Lab裡面很多git),很多參賽選手都有喔
3.安裝git,Gitolite
那要怎樣選,才能博得妹子的眼光呢?真是問到重點
你別天真了,不管怎麼選,重要是你是不是高大帥 ,人家看下面那一包不是程式那一包 。
要進行版本管理,回想前面Day 10我將系統內的數據定義為三種
No. | 特性 | 處理方式 |
---|---|---|
1. | 可再生的,如OS、AP | 記錄再生腳本(git) |
2. | 獨創需版控的、需備份的 | 版控(git)與備份(rsync) |
3. | 中繼可被清除的 | Gone with the wind |
所謂2.需要版控的意思,就是除了不想重複創造輪子,還希望可以保留修改的紀錄軌跡。而如果只是單純做個狀態記錄,那就做備份就好了。 | ||
那舉個例子吧。原始碼當仁不讓,但是再來呢?在架構裡如果Infrastructure as code (IaC)可不可以也用版本管理?當然可以,而且最好就是這樣,順便善用.gitignore。 | ||
說到.gitignore,舉個例子,這是nginx |
icekimo@Bosley:/etc/nginx$ ls
conf.d koi-win modules-enabled nginx.conf.old win-utf
fastcgi_params mime.types naxsi_core.rules sites-available
koi-utf modules-available nginx.conf sites-enabled
icekimo@Bosley:/etc/nginx$
假設要紀錄版控的只有nginx.conf、sites-available,要怎麼寫.gitignore呢?
.*
*
!nginx.conf
!sites-available/
相信大家冰雪聰明,舉一反三,立刻秒懂如何用git備份主機各種重要設定,那系統還原怎麼辦?
阿你都用版本控制了還問復原要怎麼做,不如多研究,順便給別人一點掌聲。
那系統災難復原重建怎麼辦?git clone秒下設定檔不就好了嗎?
後記
早期筆者曾聽一個謠言,某紐約期交所將全部系統塞進git裡面管理,當時心裡激發起一個想法,覺得應該可以更精緻一點,取代原來tar備份方式又可以保留人類可閱讀的歷代差異,這樣才是王道啊。在早期要找出歷代差異,最慘狀況就是把整個tarball解開做diff。然後希望各位看到這裡也覺得,git有時候當備份工具也可以很可靠的。