github/gist 應用在程式碼片段的嵌入

最近開始在整理術科解題的詳細說明撰寫上,不過在程式碼片段的嵌入上一直存在問題,暫時先用截圖的方式來處理,但這會造成網頁的流量太大的問題,這兩天在研究git時,發現github上有個gist的功能,這個功能基本上就是讓你可以建立任何的文字片段,然後用一段javascript碼嵌入你的文字片段,如果你嵌入的是程式碼,那麼程式碼片段中會自動有文字高亮的效果,今天試用了一下,感覺不錯,由於嵌入後會是一段帶有class及id的完整HTML碼,所以也可以自己設一些css來美化整個程式碼片段旳內容,這樣就大大的降低了我解題網頁製作的複雜度,而且gist的速度也不慢。

gist和截圖程式碼的差異




網頁乙級解題程式碼上傳到github存放及遇到的一些問題

昨天晚上花了點工夫把第一個版本的解題成果都上傳到github去,順便熟悉一下git的指令,然後果然發生一些狀況;

第一個狀況是第三題的影片檔當初轉檔的格式錯誤,所以檔案很大,整個專案快300mb就這樣被我傳上去了,後來改了格式,而且也把原始資料加入忽略清單,重新push後發現專案更大,原來是我忘了版控系統的最重要精神就是保留一切的修改紀錄,所以雖然我在本機上置換檔案,但是在版本紀錄中還是有我原本的檔案在,解決方式在git中很簡單,就是把隱蔵目錄.git砍掉,同時也把github上的專案刪除後重建,這樣再重新push後就是新專案的大小了。

第二個狀況是github在開新專案時,可以選擇要不要先初始化並建立一個readme.md檔,如果我選擇了初始化,就會push不上去,如果不初始化,照它給的引導說明就可以push上去,這原因合理,因為我在github上有了一個readme.md檔,但本地端沒有,所以兩邊版本內容不同的狀況下會無法push,所以我先做了一次pull想把readme.md拉下來做合併,結果拉不下來,上網google了不少資料都沒找到符合我狀況的解答,雖然用 push -f 強推上去也是可以的,但這樣就把會readme.md這個檔給蓋掉,花了兩個小時才找到原因,而且這個解決方式還是git在pull不下來時就有給了,只是我當時懶得去細讀英文的說明;這個狀況是因為git較新的版本不允許沒有同主支的分支做合併,而我在github上開的新專案和我本地端剛建立的新版控目錄都是獨立的新master,所以git認為這應該是兩個不同專案而且沒有關聯的東西,不應該合併;解決方式是在pull時,加上 –allow-unrelated-histories 這個參數,這樣就可以把沒有關聯的兩個分支合併在一起,之後再push上去就可以了成了。

把專案放上github後,之後要做本地端的練習或更新就簡單許多了,不然之前每練習完一次就要備份一次目錄,浪費不少空間,現在改成git來管理後,只要在每次有較大變動時做一次commit,就可以建立起一個版本,而且只會紀錄有變動的部份,也可以利用分支的方式來管理一些多元解法的動作,不再需要用多個版本或註解片段的方式來管理。

我的github網站




git/github 學習及相關書籍

快一個月了,丟出去的履歷表都沒消息,哈哈哈,說年齡不重要的那幾個人資給我出來說話啊~~~。

目前的打算是先領幾個月的失業輔助,把一些作品做出來,然後試試接案來做,接案做不起來就隨便去打零工先撐著也是可以,其實不怕沒工作,只是有點不甘心學了那麼多,卻沒有地方可以發揮而已。

在找工作的過程中,看到不少工作的條件要求都有加上git這個項目,其實我在去年自己準備高普考時就有在使用git了,那時只有在自己的本機電腦上使用,我的作業環境就是找一些C語言的考古題拿來練習,練習完後commit上去,就沒有了,所以那時完全沒感受到git和以前使用的subversion有什麼不同,而且當時一個題目就開一個子目錄來放,解完也很少修改,所以也稱不上有版本控制;雖然很多人都說git不用買書,指令很簡單,但以我過往工作上使用過不少版控軟體的經驗來說,如果只是當成備份或同步資料來看,那的確是簡單,但如果要牽涉到專案開發流程的管理的,那就很多學問在裏面了,所以我幾年前就有買了一本書來看:

我的基本操作都是從這本書來的,這本書的內容也算是豐富,介紹了不少git相關的工具,尤其在遠端的部份說了不少,當時我覺得收獲不少,可是總覺得那裏怪怪的;後來上職訓課程時,我一度想在課程期間來使用git管控上課的內容,省得每天要備份進度,後來在架遠端目錄時發現卡住了,有些無法理解的地方存在,就暫停這個想法;之後的課程資料我是用google driver來存放每日的進度內容,google driver有個小功能,如果你上傳的是同名的檔案的話,可以選擇存為不同的版本,就是你還是只看到一個檔案,但可以在右邊的選項中看到不同的版本,這也算是一種版本控制。

結訓後找不到工作,但看到很多對git的要求,所以在逛天瓏書局時就順手再買了一本新的git的書:

這本書的內容比起前一本要深入許多,其中有不少冷知識的章節是在解釋一些git背後的原理,對於計概有一些基礎的人來說,看完這些冷知識,大概對git的實體運作就比較可以全盤掌握了,這本書的內容解答了我之前心中一些疑問,像是儲存空間的運用,分支及合併的機制等等。

看完書,打算接下來的作品及練習都用git來做管理,所以先在本機確認git還在,然後上github查了一下自己的帳號還在不在,想帳號和密碼花了點時間,確認帳號還在之後發現自己是三年前開的github帳號,然後只上傳一個檔案之後就沒了,想想也是,這三年發生了不少事,個人電腦還經歷了一次ssd毀損重灌的悲劇,所以之前裝在本機的github客戶端也不見了,anyway,接下來希望好好的跟git混熟,以後的程式碼會以放在github來公開,而不是放在部落格或google driver.