1. 程式人生 > >git與github從入門到精通

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

 

 

 

 

 

腳下留心

  1. 因為github在國外伺服器所以訪問較慢或者無法訪問,需要翻牆(Shadowsocks)
  2. 私有倉庫只能自己或者指定的朋友才有許可權操作(私有倉庫是收費的)

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郵箱白名單

  1. 開啟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 開源專案貢獻流程

  1. 新建Issue

提交使用問題或者建議或者想法

 

  1. Pull Request

步驟:

  1. fork專案
  2. 修改自己倉庫的專案程式碼
  3. 新建 pull request
  4. 等待作者操作稽核

 

3.Git安裝和使用

目的

通過git管理github託管專案程式碼

 

下載安裝

  1. GIt官網下載:https://www.git-scm.com/download/win

2)雙擊安裝

3)選擇安裝的工作目錄

 

  1. 選擇元件

 

  1. 開始選單目錄名設定

  1. 選擇使用命令列環境

  1. 以下三步預設,直接點選next

 

 

8)等待安裝

  1. 檢驗是否安裝成功

 

4.Git基本工作流程

Git工作區域

 

 

 

 

向倉庫中新增檔案流程

 

 

5.Git初始化及倉庫建立和操作

基本資訊設定

1. 設定使用者名稱

git config --global user.name 'itcastphpgit1'

 

2. 設定使用者名稱郵箱

git config --global user.email '[email protected]'

 

腳下留心:該設定在github倉庫主頁顯示誰提交了該檔案

初始化一個新的Git倉庫

  1. 建立資料夾

  1. 在檔案內初始化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 搭建網站

個人站點

訪問

https://使用者名稱.github.io

 

搭建步驟

  1. 建立個人站點   ->  新建倉庫(注:倉庫名必須是【使用者名稱.github.io】)
  2. 在倉庫下新建index.html的檔案即可

腳下留心

  1. github pages 僅支援靜態網頁
  2. 倉庫裡面是.html檔案

3、個人主頁也可以設定主題

 

Project Pages 專案站點

訪問

https://使用者名稱.github.io/倉庫名 

原理

gh-pages 用於構建和釋出

搭建步驟

  1. 進入專案主頁,點選settings
  2. 在settings頁面,點選【Launch automatic page generator 】來自動生成主題頁面
  3. 新建站點基礎資訊設定
  4. 選擇主題
  5. 生成網頁