Head First Git 實(shí)戰(zhàn)(中文版)
定 價(jià):128 元
使用Git的很多人總是靠技巧,他們會(huì)復(fù)制粘貼從網(wǎng)上找到的命令,但并不真正理解Git到底是怎么做的。不過,如果真正遇到困難怎么辦?你不能簡單應(yīng)付。利用這本獨(dú)一無二的實(shí)用指南,你會(huì)了解Git的做法,并享受其中的樂趣。Raju Gandhi抽絲剝繭地介紹了簡單而強(qiáng)大的Git引擎,讓你不僅知道怎么做,還會(huì)了解為什么這么做。你會(huì)掌握分支、合并、提交等概念;了解協(xié)作的最佳實(shí)踐;并充分釋放Git的無限潛能。如果你讀過Head First的書,就會(huì)知道這會(huì)是一本怎樣的書。它會(huì)采用專門為你的大腦設(shè)計(jì)的一種生動(dòng)形象的方式娓娓道來。如果你還沒有讀過Head First的書,這本書肯定會(huì)讓你喜出望外。利用這本書,你將通過多感觀的學(xué)習(xí)體驗(yàn)來學(xué)習(xí)Git,能讓你的大腦真正開動(dòng)起來,而不是一味說教,讓你昏昏欲睡。
一句話推薦全面掌握如何使用Git的學(xué)習(xí)指南。專家推薦軟件開發(fā)人員依賴工具完成工作,不過這通常也意味著我們要具備足夠多的知識,否則會(huì)很危險(xiǎn)。盡管我們花幾個(gè)小時(shí)就能了解Git的基礎(chǔ),不過要真正掌握它的細(xì)節(jié),理解它的博大精深,可能還需要很多年。對于你自以為已經(jīng)了解的知識,《Head First Git》的每一頁會(huì)給出更全面的描述或解釋。不論你的Git水平如何,Raju都能幫助你更好地使用這個(gè)絕妙的工具。Nate SchuttaVMware建構(gòu)師和開發(fā)人員布道者
Raju Gandhi是DefMacro Software, LLC的創(chuàng)始人。他和妻子Michelle、他們的兒子Mason和Micah,還有3個(gè)毛孩子(兩只狗Buddy和Skye,以及小貓Princess Zara)生活在俄亥俄州的哥倫比亞。Raju是一名顧問、作者和教師,經(jīng)常受邀在世界各地的大會(huì)上發(fā)表演講。他的職業(yè)不僅是一名軟件開發(fā)人員,同時(shí)也是一個(gè)老師,他的信條是力求簡單。他的方法總是理解和解釋為什么,而不只是怎么做。
簡要目錄引言 xix1 Git初入門:認(rèn)識Git 12 分支:多個(gè)思路 513 調(diào)查:調(diào)查你的Git存儲(chǔ)庫 1154 撤銷:改正你的錯(cuò)誤 1595 用Git協(xié)作, 第一部分:遠(yuǎn)程工作 2156 用Git協(xié)作, 第二部分:團(tuán)隊(duì)協(xié)作 2697 搜索Git存儲(chǔ)庫:Git Grep 3498 用Git讓生活更輕松:高級技巧#ProTips 399附錄 其他:我們沒有談到的5大主題 443索引 453詳細(xì)目錄引言誰適合看這本書? xx我們知道你在想什么 xxi元認(rèn)知:有關(guān)思考的思考 xxiii我們是這么做的 xxiv可以用下面的方法讓你的大腦就范 xxv必須安裝Git(macOS) xxviii必須安裝Git(Windows) xxix需要一個(gè)文本編輯器(macOS) xxx需要一個(gè)文本編輯器(Windows) xxxi你(絕對)需要一個(gè)GitHub賬戶 xxxii關(guān)于文件和項(xiàng)目組織 xxxiv技術(shù)審校團(tuán)隊(duì) xxxv致謝 xxxvi1認(rèn)識Git Git初入門為什么需要版本控制 2命令行簡明教程:用pwd了解你在什么位置 7更多關(guān)于命令行:用mkdir創(chuàng)建新目錄 8更多關(guān)于命令行:用ls列出文件 9更多關(guān)于命令行(就快結(jié)束了):用cd切換目錄 10清理 13創(chuàng)建你的第一個(gè)存儲(chǔ)庫 14init命令內(nèi)幕 15向Git自我介紹 17使用Git 19使用HawtDawg Git存儲(chǔ)庫 21提交到底是什么意思? 23三思而后行 25Git的3個(gè)階段 26命令行中使用Git 28在幕后 29文件在Git存儲(chǔ)庫中的多個(gè)狀態(tài) 30索引就是一個(gè)便箋簿 33計(jì)算機(jī),狀態(tài)報(bào)告! 35你建立了歷史! 412分支多個(gè)思路一切始于一個(gè)Email 52更新餐廳菜單 55選擇……太多的選擇! 58改道 59退回! 61分支示意圖 63分支、提交和包含的文件 64并行工作 67分支到底是什么? 69切換分支還是切換目錄? 71合并! 74閱讀#&$!@手冊(git branch版) 76有些合并會(huì)快進(jìn) 79另一個(gè)方向會(huì)有問題 80更多Git設(shè)置 81等一下!你移動(dòng)了? 84這是一個(gè)合并提交 87事情并不總是那么順利 90有沖突! 91清理(已合并的)分支 96刪除未合并的分支 99一般工作流程 1003調(diào)查你的Git存儲(chǔ)庫Brigitte在找工作 116提交還不夠 118鏡子鏡子告訴我:誰是世界上最美麗的日志? 120git log如何工作? 124讓git log完成所有工作 125有什么差異? 129查看文件差異 130查看文件差異:一次一個(gè)文件 131查看文件差異:一次一個(gè)hunk 132更容易地查看差異 133比較暫存變更 136比較分支 139比較提交 145對一個(gè)新文件使用diff會(huì)怎樣? 1464改正你的錯(cuò)誤策劃一個(gè)訂婚派對 160判斷錯(cuò)誤 162撤銷工作目錄中的變更 164撤銷索引中的變更 166從Git存儲(chǔ)庫刪除文件 169提交刪除 170重命名(或移動(dòng))文件 172編輯提交消息 173重命名分支 177建立備選計(jì)劃 179HEAD的角色 183使用HEAD引用提交 185遍歷合并提交 186撤銷提交 188用reset刪除提交 1893種重置 190撤銷提交的另一種方法 195回退提交 196啊哈,大功告成,圓滿! 1995用Git協(xié)作,第一部分遠(yuǎn)程工作建立Git存儲(chǔ)庫的另一種方法:克隆 216各就各位,預(yù)備,克隆! 220克隆時(shí)發(fā)生了什么? 224Git是分布式的 226推送變更 230了解推送到哪里:remote 235謝絕拍照:公共與私有提交 237標(biāo)準(zhǔn)操作過程:分支 239合并分支:選項(xiàng)1(本地合并) 241推送本地分支 245合并分支:選項(xiàng)2(拉取請求) 249創(chuàng)建拉取請求 250拉取請求還是合并請求? 254合并拉取請求 256接下來呢? 2586用Git協(xié)作,第二部分團(tuán)隊(duì)協(xié)作并行工作 271在Git中……并行工作 272Git式協(xié)作 274在GitHub上設(shè)置兩個(gè)合作者 275落后于遠(yuǎn)程存儲(chǔ)庫 283趕上遠(yuǎn)程存儲(chǔ)庫(git pull) 285引入中間人:遠(yuǎn)程跟蹤分支 289遠(yuǎn)程跟蹤分支存在的理由1:知道推送到哪里 290推送到遠(yuǎn)程存儲(chǔ)庫:小結(jié) 298獲取遠(yuǎn)程跟蹤分支 299遠(yuǎn)程跟蹤分支存在的理由2:從遠(yuǎn)程存儲(chǔ)庫獲�。ㄋ校└� 300與其他人協(xié)作 304與其他人協(xié)作:小結(jié) 308遠(yuǎn)程跟蹤分支存在的理由3:知道需要推送 309遠(yuǎn)程跟蹤分支存在的理由4:準(zhǔn)備推送 311git pull就是git fetch git merge! 316用git fetch git merge,避免用git pull 317理想場景 320一個(gè)典型的工作流程:開始 321一個(gè)典型的工作流程:準(zhǔn)備合并 322一個(gè)典型的工作流程:本地合并,還是發(fā)出拉取請求? 323典型工作流程圖 324清理遠(yuǎn)程分支 3267搜索Git存儲(chǔ)庫Git Grep更上一個(gè)臺階 350提交歷史一覽 352使用git blame 354利用Git存儲(chǔ)庫管理器使用git blame 355搜索Git存儲(chǔ)庫 357用grep搜索Git存儲(chǔ)庫 358git grep選項(xiàng) 359git grep標(biāo)志組合包 360git blame的缺點(diǎn) 362git log的pickaxe功能(-S) 363git log -S與blame 364對git log使用patch標(biāo)志 365git log的另一個(gè)pickaxe標(biāo)志(-G) 368搜索提交消息 370檢出提交 374分離HEAD狀態(tài) 375分離HEAD狀態(tài)的寓意 376使用git bisect搜索提交 380使用git bisect 381結(jié)束git bisect 3838用Git讓生活更輕松高級技巧#ProTips配置Git 400全局.gitconfig文件 401項(xiàng)目特定的Git配置 404列出Git配置 406Git別名是你個(gè)人的Git快捷方式 408調(diào)整Git別名的行為 409告訴Git忽略某些文件和文件夾 412.gitignore文件的作用 413管理.gitignore文件 414示例.gitignore文件 416早提交,常提交 418寫有意義的提交消息 420良好的提交消息剖析 421良好的提交消息剖析:標(biāo)題 422良好的提交消息剖析:主體 424太過挑剔? 425創(chuàng)建有幫助的分支名 427在工作流程中集成一個(gè)圖形用戶界面 429附錄其他:我們沒有談到的5大主題#1 tag(永遠(yuǎn)記得我) 444#2 cherry-pick(復(fù)制提交) 445#3 stash(偽提交) 446#4 reflog (引用日志) 448#5 rebase(另一種合并方法) 449