官术网_书友最值得收藏!

本書使用的示例代碼可從GitHub上下載1https://github.com/miguelgrinberg/flasky

1也可前往本書的圖靈社區頁面(http://www.ituring.com.cn/book/2463)下載。——編者注

這個倉庫的提交歷史是精心設計的,與本書介紹的功能順序一致。使用這份代碼時,我建議你從最早的提交開始,跟隨本書內容的進度,向前推移提交列表。另外,你還可以從GitHub上下載每次提交代碼后得到的ZIP或TAR文件。

如果你決定使用Git操作源碼,那么首先要安裝Git客戶端(可以從http://git-scm.com/下載)。使用Git下載本書示例代碼的命令如下:

$ git clone https://github.com/miguelgrinberg/flasky.git

git clone命令從GitHub上下載源碼,安裝到當前目錄下的flasky文件夾中。這個文件夾中不僅有源碼,還有一個包含應用完整修改歷史的Git倉庫。

第1章會要求你檢出應用的初始發布版本,然后在適當的時候再指示你向前推進查看提交歷史。切換提交歷史的Git命令是git checkout。下面舉個例子:

$ git checkout 1a

上述命令中的1a代表一個標簽(tag),是項目中某次提交歷史的名稱。這個倉庫的標簽根據本書的章節命名,因此本例中的1a表示第1章使用的初始版本。大多數章都不止使用一個標簽,例如5a5b等分別對應第5章中用到的不同版本。

執行上述git checkout命令后,Git會顯示一個提醒消息,指出你在“孤立的HEAD”狀態。這表明你不在能接受新提交的代碼分支上,而是在查看項目提交歷史中的某次提交。不要被這個消息嚇著,但是要注意,一旦你在這個狀態下修改了文件,便不能再執行git checkout命令,因為Git不知如何處理你所做的改動。因此,為了能繼續跟著本書操作,你要把改動的文件還原到最初的狀態。最簡單的方法是使用git reset命令:

$ git reset --hard

這個命令會撤銷本地修改,所以在執行之前,你要保存所有不想丟失的改動。

除了檢出應用源碼的不同版本,你可能還需要進行一些設置。例如,有時需要安裝額外的Python包,或者升級數據庫。需要執行這些操作時,我會提醒你。

你可能經常需要從GitHub上下載修正和改進后的源碼,更新本地倉庫。完成這個操作的命令如下所示:

$ git fetch --all
$ git fetch --tags
$ git reset --hard origin/master

git fetch命令根據GitHub上的遠程倉庫更新本地倉庫的提交歷史和標簽,但不會真正改動源文件,隨后執行的git reset命令才是用于更新文件的操作。再次提醒,執行git reset命令后,本地修改將會丟失。

另一個有用的操作是查看應用兩個版本之間的差異,以便了解改動詳情。在命令行中,可以使用git diff命令進行查看。例如,執行下述命令可以查看2a2b兩個修訂版本之間的差異:

$ git diff 2a 2b

這個命令以補丁(patch)的形式顯示差異,如果你以前沒有用過補丁文件,可能會覺得這種查看改動的方式不直觀。你可能發現,GitHub網站中顯示的圖形化對比更容易理解。例如,要在GitHub中查看2a2b兩個歷史版本的差異,可以訪問https://github.com/miguelgrinberg/flasky/compare/2a...2b

主站蜘蛛池模板: 外汇| 筠连县| 珠海市| 桃园市| 桦甸市| 肥东县| 洪雅县| 蒲城县| 房产| 长武县| 北流市| 西充县| 汶上县| 临沭县| 高邑县| 香格里拉县| 佛坪县| 宁津县| 刚察县| 盐源县| 淮滨县| 三原县| 建平县| 察雅县| 彰武县| 荥经县| 高雄县| 隆回县| 玉田县| 靖江市| 鹤庆县| 凌源市| 玉环县| 嵊泗县| 禹州市| 邹平县| 淮阳县| 东阿县| 彭泽县| 昭觉县| 辛集市|