不管您的職業是不是工程師,只要你是電腦工作者每天或多或少都需要編輯、修改許多的檔案。您怎麼樣備份您的檔案?您怎麼樣一眼就可以知道每次備份的差別?如果您跟其它同事一起共同檔案,不論是有心無意,萬一檔案被其它同事覆蓋掉了該怎麼救回來?如果你在乎這些問題的答案,那使用「版本控制系統」就是一個很不錯的選擇。透過這樣的系統,可以清楚的記錄每個檔案是誰在什麼時候加進來、什麼時候被修改或刪除。Git 就是一種版本控制系統,也是目前業界最流行的版本控制系統,沒有之一。人生不能重來,但 Git 可以隨時幫你救回來不小心修改或刪除的檔案。簡單的說,Git 就像玩遊戲的時候可以儲存進度一樣。為了避免遊戲打輸了而損失裝備,又或是打倒頭目卻沒有掉落期望的裝備,你也許在每次要去執行任務之前之前記錄一下,在發生狀況的時候可以載入舊進度,再來挑戰一次。若您平日的工作已有在使用 Git,本書大部份的內容應該相對的輕鬆;即使已經平日有在使用 Git,也可從本書學到一些「本來以為 Git 是這樣,但其實是那樣」的觀念。本書內容- 常用 Git 指令介紹。- 各種 Git 的常見問題及使用情境。- 如何修改 Git 的歷史紀錄。- 如何使用 GitHub 與其它人一起工作。- 一般平常工作用不到但對觀念建立有幫助的冷知識。
不管您的職業是不是工程師,只要你是電腦工作者每天或多或少都需要編輯、修改許多的檔案。您怎麼樣備份您的檔案?您怎麼樣一眼就可以知道每次備份的差別?如果您跟其它同事一起共同檔案,不論是有心無意,萬一檔案被其它同事覆蓋掉了該怎麼救回來?如果你在乎這些問題的答案,那使用「版本控制系統」就是一個很不錯的選擇。透過這樣的系統,可以清楚的記錄每個檔案是誰在什麼時候加進來、什麼時候被修改或刪除。Git 就是一種版本控制系統,也是目前業界最流行的版本控制系統,沒有之一。人生不能重來,但 Git 可以隨時幫你救回來不小心修改或刪除的檔案。簡單的說,Git 就像玩遊戲的時候可以儲存進度一樣。為了避免遊戲打輸了而損失裝備,又或是打倒頭目卻沒有掉落期望的裝備,你也許在每次要去執行任務之前之前記錄一下,在發生狀況的時候可以載入舊進度,再來挑戰一次。若您平日的工作已有在使用 Git,本書大部份的內容應該相對的輕鬆;即使已經平日有在使用 Git,也可從本書學到一些「本來以為 Git 是這樣,但其實是那樣」的觀念。本書內容- 常用 Git 指令介紹。- 各種 Git 的常見問題及使用情境。- 如何修改 Git 的歷史紀錄。- 如何使用 GitHub 與其它人一起工作。- 一般平常工作用不到但對觀念建立有幫助的冷知識。 五倍紅寶石 高見龍雖非資訊本科系出身,但喜歡寫程式而且希望可以寫一輩子程式的電腦阿宅。喜歡辦活動,是不少台灣大型技術研討會(如 PHPConf、WebConf、RubyConf Taiwan 等)及社群活動(Rails Girls Taipei、Taipei.rb)的發起人或主辦人。喜愛與人分享,曾在許多國內、外技術研討會分享心得。四次創業經驗,雖然其中有兩次是失敗經驗但仍樂此不疲。目前為五倍紅寶石共同創辦人及負責人。- 20 年程式開發經驗- 將近 10 年的教學經驗- 在台灣推廣 Ruby 程式語言多年,在各大專院校廣為開課,學生已累積超過 1,000 人以上封面設計 陳曉菁陳曉菁,喜歡手作實踐一些小玩意,平常寫寫程式,偶爾弄弄設計煮煮飯,簡單來說就是有點手賤要找點事做,目前是五杯紅寶石的酒鬼,歡迎來礦坑乾杯。 前言 寫在最前面 - 為你自己學Git !作者序第1章:入門篇1.1 什麼是Git?為什麼要學習它?1.2 與其它版本控制系統的差異第2章:環境安裝2.1 安裝在 Windows 作業系統2.2 安裝在Mac OSX 作業系統2.3 安裝在Linux 作業系統2.4 圖形化介面工具第3章:終端機/命令提示字元3.1 終端機及常用指令介紹3.2 超簡明Vim操作介紹第4章:設定Git4.1 使用者設定4.2 其它方便的設定第5章:開始使用Git5.1 新增、初始 Repository5.2 把檔案交給Git 控管5.3 工作區、暫存區與儲存庫5.4 檢視紀錄5.5 狀況題 如何在Git 裡刪除檔案或變更檔名?5.6 狀況題 修改Commit 紀錄5.7 狀況題 追加檔案到最近一次的Commit5.8 狀況題 新增目錄?5.9 狀況題 有些檔案我不想放在Git 裡面...5.10 狀況題 檢視特定檔案的Commit 紀錄5.11 狀況題 等等,這行程式誰寫的?5.12 狀況題 啊!不小心把檔案或目錄刪掉了⋯5.13 狀況題 剛才的Commit 後悔了,想要拆掉重做⋯5.14 狀況題 不小心使用hard 模式Reset 了某個Commit,救得回來嗎?5.15 冷知識 HEAD 是什麼東西?5.16 狀況題 可以只Commit 一個檔案的部份的內容嗎?5.17 冷知識 那個長得很像亂碼SHA-1 是怎麼算出來的?5.18 超冷知識 在.git 目錄裡有什麼東西? Part 15.19 超冷知識 在.git 目錄裡有什麼東西? Part 2第6章:使用分支6.1 為什麼要使用分支?6.2 開始使用分支6.3 對分支的誤解6.4 合併分支6.5 狀況題 為什麼我的分支都沒有「小耳朵」?6.6 常見問題合併過的分支要留著嗎?6.7 狀況題 不小心把還沒合併的分支砍掉了,救得回來嗎?6.8 另一種合併方式(使用 rebase)6.9 合併發生衝突了,怎麼辦?6.10 冷知識 為什麼大家都說在 Git 開分支「很便宜」?6.11 冷知識 Git 怎麼知道現在是在哪一個分支?6.12 狀況題 我可以從過去的某個Commit 再長一個新的分支出來嗎?第7章:修改歷史紀錄7.1 狀況題 修改歷史訊息7.2 狀況題 把多個 Commit 合併成一個Commit7.3 狀況題 把一個 Commit 拆解成多個Commit7.4 狀況題 想要在某些 Commit 之間再加新的Commit7.5 狀況題 想要刪除某幾個 Commit 或是調整Commit 的順序7.6 Reset、Revert 跟 Rebase 指令有什麼差別?第8章:標籤8.1 使用標籤8.2 冷知識 標籤跟分支有什麼不一樣?第9章:其它常見狀況題與冷知識9.1 狀況題 手邊的工作做到一半,臨時要切換到別的任務9.2 狀況題 不小心把帳號密碼放在Git 裡了,想把它刪掉⋯9.3 冷知識 怎麼樣把檔案真正的從 Git 裡移掉?9.4 冷知識 你知道Git 有資源回收機制嗎?9.5 冷知識 斷頭(detached HEAD)是怎麼一回事?第10章:遠端共同協作 - 使用 GitHub10.1 GitHub 是什麼?10.2 Push 上傳到 GitHub10.3 Pull 下載更新10.4 狀況題 怎麼有時候推不上去...10.5 從伺服器上取得 Repository10.6 常見問題Clone 跟 Pull 指令有什麼不一樣?10.7 與其它開發者的互動 - 使用 Pull Request(PR)10.8 狀況題 怎麼跟上當初 fork 專案的進度?10.9 狀況題 怎麼刪除遠端的分支?10.10 狀況題 聽說 git push -f 這個指令很可怕,什麼情況可以使用它呢?10.11 使用GitHub 免費製作個人網站10.12 冷知識 一定要有GitHub 才能得到別人更新的檔案嗎?第11章:使用Git flow11.1 Git Flow 是什麼?為什麼需要這種東西?