git與github從入門到精通
1.瞭解Git和Github
1.1 什麼是Git
Git是一個免費、開源的版本控制軟體
1.2 什麼是版本控制系統
版本控制是一種記錄一個或若干個檔案內容變化,以便將來查閱特定版本修訂情況得系統。
- 系統具體功能
記錄檔案的所有歷史變化
隨時可恢復到任何一個歷史狀態
多人協作開發或修改
錯誤恢復
1.3 什麼是Github
Github是全球最大的社交程式設計及程式碼託管網站(https://github.com/)。
Github可以託管各種git庫,並提供一個web介面(使用者名稱.github.io/倉庫名)
1.4 Github和Git是什麼關係
Git是版本控制軟體
Github是專案程式碼託管的平臺,藉助git來管理專案程式碼
1.5 為什麼學習github
學習優秀的開源專案
關注行業前輩瞭解最新的行業動態
如:
PHP 鳥哥,前新浪總架構師 https://github.com/laruence
國內最流行的PHP開發框架(thinkphp):https://github.com/top-think/thinkphp
全球最流行的PHP框架(laravel):https://github.com/laravel/laravel
PHP編碼規範(FIG-PHP):https://www.gitbook.com/book/jifei/php-fig-standards/details
2.使用Github
2.1 目的
藉助github託管專案程式碼
2.2 基本概念
倉庫(Repository)
倉庫用來存放專案程式碼,每個專案對應一個倉庫,多個開源專案則有多個倉庫
收藏(Star)
收藏專案,方便下次檢視
複製克隆專案(Fork)
腳下留心:該fork的專案時獨立存在的
發起請求(Pull Request )
關注(Watch)
關注專案,當專案更新可以接收到通知
事務卡片(Issue)
發現程式碼BUG,但是目前沒有成型程式碼,需要討論時用;
Github主頁
賬號建立成功或點選網址導航欄github圖示都可進入github主頁:該頁左側主要顯示使用者動態以及關注使用者或關注倉庫的動態;右側顯示所有的git庫
倉庫主頁
倉庫主頁主要顯示專案的資訊,如:專案程式碼,版本,收藏/關注/fork情況等
個人主頁
個人資訊:頭像,個人簡介,關注我的人,我關注的人,我關注的git庫,我的開源專案,我貢獻的開源專案等資訊
2.3 註冊github賬號
官方網址
github.com
腳下留心
- 因為github在國外伺服器所以訪問較慢或者無法訪問,需要翻牆(Shadowsocks)
- 私有倉庫只能自己或者指定的朋友才有許可權操作(私有倉庫是收費的)
3、新註冊的使用者必須驗證郵箱後才可以建立git庫倉庫()
2.4 建立倉庫/建立新專案
說明
一個git庫(倉庫)對應一個開源專案
通過git管理git庫
建立倉庫
1)點選【Start a project】建立一個倉庫
2)問題:點選【Start a project】建立一個倉庫,後出現該頁面
2)原因:未驗證郵箱,點選下圖框框中的連結進行驗證
3)點選【resend】傳送郵件驗證郵箱
4)點選【verify email address】驗證郵箱
說明:驗證成功後會自動跳轉github主頁,重新點選【Start a project】即可建立倉庫
5) 驗證郵箱後,點選【Start a project】進入下圖介面
倉庫主頁說明
腳下留心
qq郵箱需要設定白名單才可以收到郵件
︴未驗證郵箱提示頁面
︴設定QQ郵箱白名單
- 開啟QQ郵箱、點選【設定】
2、點選【反垃圾】
3、點選【設定域名白名單】
4、在新頁面的input框中輸入【github.com】新增即可
2.5 倉庫管理
新建檔案
倉庫主頁,點選【create new file】建立倉庫檔案
編輯檔案
倉庫主頁,點選【需要修改的檔案】進入檔案詳情頁
刪除檔案
︴思考被刪除檔案如何檢視資訊
答案:點選commits按鈕檢視
上傳檔案
搜尋倉庫檔案
多學一招:快捷鍵(t)
下載/檢出專案
2.6 Github Issues
作用:發現程式碼BUG,但是目前沒有成型程式碼,需要討論時用;或者使用開源專案出現問題時使用
情景:張三發現李四開源git庫,則發提交了一個issue;李四隔天登入在github主頁看到通知並和張三交流,最後關閉issue
2.6 基本概念(實戰操作)
Github主頁
個人主頁
收藏(Star)
【如何收藏】
操作:開啟對應專案主頁,點選右上角 star 按鈕即可收藏
情景:張三無意訪問到李四的開源專案感覺不錯並進行收藏
【如何檢視自己得收藏】
關注(Watch)
情景:張三關注了李四的專案,李四新增專案檔案,張三的github主頁會有怎樣的展示?
複製克隆專案(Fork)
情景:張三fork了李四的專案,相當於張三複制了李四的專案,所以自己也單獨有了一個一樣名稱的倉庫(注:該倉庫會宣告來自於李四,但是獨立存在)
︴驗證:fork後的倉庫是否單獨存在
發起請求(Pull Request)
情景:張三修改了fork的專案中的檔案,希望更新到原來的倉庫,這時候他要新建一個pull request
1)Git1 發起一個更新請求
2.7 開源專案貢獻流程
- 新建Issue
提交使用問題或者建議或者想法
- Pull Request
步驟:
- fork專案
- 修改自己倉庫的專案程式碼
- 新建 pull request
- 等待作者操作稽核
3.Git安裝和使用
目的
通過git管理github託管專案程式碼
下載安裝
2)雙擊安裝
3)選擇安裝的工作目錄
- 選擇元件
- 開始選單目錄名設定
- 選擇使用命令列環境
- 以下三步預設,直接點選next
8)等待安裝
- 檢驗是否安裝成功
4.Git基本工作流程
Git工作區域
向倉庫中新增檔案流程
5.Git初始化及倉庫建立和操作
基本資訊設定
1. 設定使用者名稱
git config --global user.name 'itcastphpgit1'
2. 設定使用者名稱郵箱
git config --global user.email '[email protected]'
腳下留心:該設定在github倉庫主頁顯示誰提交了該檔案
初始化一個新的Git倉庫
- 建立資料夾
- 在檔案內初始化git(建立git倉庫)
cd test
git init
向倉庫新增檔案
touch a1.php # 建立a1.php檔案到工作目錄
git add a1.php # 新增a1.php到暫存區
git commit -m '第一次提交檔案' # 新增a1.php到倉庫
修改倉庫檔案
刪除倉庫檔案
6. Git管理遠端倉庫
使用遠端倉庫的目的
作用:備份,實現程式碼共享集中化管理
Git克隆操作
目的
將遠端倉庫(github對應的專案)複製到本地
程式碼
git clone 倉庫地址
多學一招:倉庫地址由來
將本地倉庫同步到git遠端倉庫中
git push
︴思考:為什麼無法同步
或沒有許可權
The requested URL returned error: 403 Forbidden while accessing
答案:私有專案,沒有許可權,輸入使用者名稱密碼,或者遠端地址採用這種型別:
vi .git/config
# 將
[remote "origin"]
url = https://github.com/使用者名稱/倉庫名.git
修改為:
[remote "origin"]
url = https://使用者名稱:密碼@github.com/使用者名稱/倉庫名.git
7.Github Pages 搭建網站
個人站點
訪問
搭建步驟
- 建立個人站點 -> 新建倉庫(注:倉庫名必須是【使用者名稱.github.io】)
- 在倉庫下新建index.html的檔案即可
腳下留心
- github pages 僅支援靜態網頁
- 倉庫裡面是.html檔案
3、個人主頁也可以設定主題
Project Pages 專案站點
訪問
原理
gh-pages 用於構建和釋出
搭建步驟
- 進入專案主頁,點選settings
- 在settings頁面,點選【Launch automatic page generator 】來自動生成主題頁面
- 新建站點基礎資訊設定
- 選擇主題
- 生成網頁