1. 程式人生 > >電商全端總結(一)

電商全端總結(一)

git學習總結

  • 學會使用基本的git命令 管理原始碼
  • 學會去github建立倉庫 並將程式碼上傳到github的倉庫 (有待完成 回家有網再push)
  • 瞭解本地的.git和伺服器github的.git的關係 是兩個倉庫 一個是本地 一個是伺服器 需要使用一句命令來關聯 git remote add origin 遠端的.git的地址
  • 瞭解github的概念以及github和git的關係
  • 學會把原生代碼提交到github倉庫
  • 瞭解ssh無密碼提交方式

1. git 的介紹

  1. 什麼是git: 是一個開源分散式的版本控制系統(版本控制工具) 用來管理我們專案原始碼的版本的
    版本: 是一個專案(軟體)更新的一個記錄編號 (專案每次更新就會產生一個版本(每一個版本的原始碼都不一樣))
    1. 遊戲 更新 每次更新都會有版本號
    2. App 軟體更新
    3. 框架更新 jquery mui bootstrap
    4. 版本的編號通常是一個數字
    1.
    1.1
    1.2
    1.3
    1.3.1
    1.3.2
    2.
    3.
    大更新 就改變 大編號 (版本號) 小更新就改變小的編號 (補丁)

  2. 為什麼要使用版本管理系統:

  3. 因為軟體經常要更新 每更新一次就要出一個新的版本

  4. 新版和老版本程式碼是不一樣的 需要管理每個版本的原始碼

  5. 每個版本的程式碼都需要保留和備份 如果使用資料夾的方式儲存程式碼版本很不方便

  6. 現在都是使用工具來管理程式碼

  7. 有哪些原始碼管理(系統)工具:
    svn 是一個開放原始碼的版本控制系統 操作簡單 但是需要聯網開發 不適合開源專案
    git 是一個開源的程式碼版本控制系統 操作複雜 離線開發 適合開源專案
    vss 最早的 微軟出來的管理工具 針對windows電腦不開源 使用檔案共享方式來管理 安全性低

  8. 版本管理原理

    1. svn 集中式: 集中在一臺電腦管理程式碼版本 別人只要把程式碼提交給管理原始碼的電腦上
    2. git 分散式的: 分佈在每個人電腦上管理每個人的版本 我可以把我的程式碼提交都伺服器 你可以吧程式碼提交到伺服器 伺服器 只是做了程式碼共享 (各自在本地管理各自的程式碼的版本)
  9. git和svn對比 https://www.cnblogs.com/mtl-key/p/6902666.html

     SVN與Git優缺點比較(屬面試常問提)
     1.SVN優缺點
     優點: 
     1、 管理方便,邏輯明確,符合一般人思維習慣。 
     2、 易於管理,集中式伺服器更能保證安全性。 
     3、 程式碼一致性非常高。 
     4、 適合開發人數不多的專案開發。 
     缺點: 
     1、 伺服器壓力太大,資料庫容量暴增。 
     2、 如果不能連線到伺服器上,基本上不可以工作,看上面第二步,如果伺服器不能連線上,就不能提交,還原,對比等等。 
     3、 不適合開源開發(開發人數非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明確的許可權管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數眾多的問題。
     2.Git優缺點
     優點: 
     1、適合分散式開發,強調個體。 
     2、公共伺服器壓力和資料量都不會太大。 
     3、速度快、靈活。 
     4、任意兩個開發者之間可以很容易的解決衝突。 
     5、離線工作。 
     缺點: 
     1、學習週期相對而言比較長。 
     2、不符合常規思維。 
     3、程式碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有程式碼和版本資訊。
    
  10. git和github的關係
    git是一個工具用來管理原生代碼版本的
    github是一個伺服器是用來共享程式碼的伺服器

2. git基本使用

1. 安裝環境 安裝git工具軟體

找到git軟體 day06 移動web 》的預習資料裡面的》1-教學資料》Git-2.13.0-64-bit.exe 
雙擊開啟一路下一步安裝
如果安裝完成後 在桌面上右鍵 有git bash here就表示安裝成功

2. 瞭解git的使用流程 怎麼管理原始碼

理解git工作流程
工作區  原始碼專案(資料夾)
暫存區  臨時管理原始碼(資料夾)  (暫存區的程式碼 程式碼的版本還沒有完成 先臨時放到暫存區裡面 等到整個版本的程式碼都寫完 再統一把暫存區的程式碼提交到本地版本庫)
本地倉庫  本地原始碼版本的倉庫(資料夾) (裡面記錄了專案的每一個版本 對版本進行操作)
遠端倉庫  伺服器原始碼版本庫(資料夾) (用來實現程式碼倉庫共享的遠端一個伺服器倉庫)

3. git的使用步驟(git的基本命令的使用) 所有的命令都是在當前專案的git黑窗裡面執行 git bash here

1. 在專案中初始化一個本地倉庫 git init
2. 把專案需要管理的程式碼新增到暫存區 git add index.html   或者資料夾 git add images 或者 所有檔案 git add .
3. 檢視當前版本庫的狀態(新增 提交 刪除等狀態) git status
4. 把程式碼提交到本地的倉庫 git commit -m '提交日誌'  -m是提交說明(日誌)的意思     (提交會自動產生一個版本原始碼版本)
    第一次commit會報錯 原因是沒有配置使用者名稱和郵箱 git不知道是誰在提交
    兩句命令 一個配置郵箱 一個配置使用者名稱 分別執行
    git config --global user.email "[email protected]"
    git config --global user.name "zwxs"
    --global全域性配置的意思  配置了一次以後後不需要在配置 如沒有加全域性 後面每個專案都需要配置使用者和郵箱
5. 檢視當前本地倉庫所有提交的版本號 git log  
6. 如果後面專案原始碼有更新  原始碼版本也要更新
    git add .  重新把新的程式碼新增到暫存區
    git commit -m '新的提交日誌'  把新的暫存區的程式碼提交到本地倉庫

3. git的其他命令

  1. git版本回退
    git reset --hard HEAD^ 回到上一個版本
    git reset --hard 0bc1129 回到指定的版本
  2. 檢視所有版本號
    git reflog 檢視所有的版本號
  3. git status 檢視當前版本庫的狀態
    檢視當前有哪些檔案沒有新增到暫存區
    檢視當前有哪些檔案沒有提交到本地倉庫
  4. git diff 檢視當前程式碼和原生代碼的區別
    同一個檔案之前本地倉庫是什麼樣子的
    你最新寫了什麼程式碼
  5. git remote 改變遠端地址
    1. 如果設定了一個遠端倉庫地址 但是不是你想要的
    2. 先刪除之前的遠端倉庫地址 git remote rm origin
    3. 再新增一個新的遠端倉庫地址 git remote add origin [email protected]:zwxs/jd24.git
  6. git checkout 撤退撤銷當前程式碼的更改
    git checkout – 指定檔案.副檔名
  7. git reset HEAD readme.txt 回退add 撤銷add
    git add . 但是有個檔案不需要加的 單獨把這個檔案撤銷
    git reset HEAD 檔名.副檔名

4. github

  1. 是一個git的 遠端伺服器的提供商 (最好用最有名的) 把你本地倉庫的程式碼共享給別人看 下載等
  2. github 可以把你的專案 託管到伺服器上 被人可以看到和下載你的程式碼 作為靜態頁面的伺服器 使用官方的域名實現部落格預覽等等 可以看到很大大神程式碼 開源專案 學習最新最前沿的技術
  3. github 提出社交化的程式設計概念, 可以像看微博 看朋友圈一樣看別人程式碼 點贊 關注等 github就是程式設計師的新浪微博

5. github註冊賬號

  1. 註冊步驟: https://www.baidu.com/link?url=zXSuSQZ2b67rZXEwCa5bHquBkTVyPiwieuiEMkfP_AZCiNO6GpnMPG3MOQi7hYTpbVWNCEh7DdgJ6g4wQHht3nKAlzvMptEAdpCaj-seHJW&wd=&eqid=c453f15f000466be000000065bdaa382

6. 使用git和github互動

1. 去github上去建立一個伺服器的倉庫
    1. 開啟github官網 登入 
    2. 點選右上角頭像左邊的+號
    3. 點選New repository  新建一個本地倉庫
    4. 輸入Repository name倉庫名  不能有中文空格等特殊符號  儘量用純英文
    5. 輸入一個倉庫的描述
    6. 選擇public
    7. 是否要初始化一個README閱讀我 不要勾
    8. 點選建立
2. 讓本地倉庫和遠端倉庫連線起來 (做一次即可)
    git remote add origin  [email protected]:zwxs/jd23.git  讓本地倉庫和遠端倉庫連線 
      [email protected]:zwxs/jd23.git 遠端倉庫地址 github給你提供的
3. 把本地倉庫的程式碼提交到遠端的倉庫裡面
    git push -u origin master  把原生代碼提交到遠端的master(主)分支裡面

把本地電腦和github伺服器賬號相關聯

1. 使用https 是需要輸入使用者名稱和密碼的方式  每次都要輸入 輸錯就把提交命令再執行一次 會重新讓你輸入
2. 使用SSH  可以讓本地電腦和github賬號相關聯 關聯了之後就是永久
    1. 理解原理: 使用一個本地祕鑰(電腦的身份證) 把你的本地祕鑰和伺服器github賬號相互繫結  把身份證繫結到伺服器賬號上
    你每次提交都會讀取你當前的本地的祕鑰 
    再和你本地倉庫管理的github伺服器倉庫的賬號裡面的祕鑰對應
    如果是一樣的就認為github是認可這臺電腦的就允許提交
    2. 在本地電腦生成一個祕鑰:
      在gitbash黑窗裡面執行 ssh-keygen -t rsa -C "[email protected]"
      輸入後一路回車 出現2048就表示成功
    3. 祕鑰生成後會在C盤 》 使用者 》 你的使用者(英文或者administor) 》 .ssh 》 id_rsa.pub 
        id_rsa.pub  本地公鑰(公開的鑰匙) 
        把這個id_rsa.pub 使用記事本開啟 把亂碼複製一下
    4. 開啟github賬號
        點選設定
        點選SSH設定
        點選右上角new SSHKey
        輸入title(你的名字) key (複製公鑰裡面的亂碼)
        點選Add即可
        出現一個黑色的鑰匙就表示成功

7. 一個專案從頭到尾使用git步驟

  1. 建立一個專案 被管理的專案
  2. 進入專案開啟黑窗 輸入 git init 初始化
  3. 把要管理的程式碼新增到暫存區 git add .
  4. 把暫存區程式碼提交到本地倉庫 git commit -m ‘提交日誌’
  5. 要把本地倉庫提交到伺服器
  6. 建立一個伺服器的倉庫 new repository
  7. 關聯當前本地倉庫和遠端倉庫 git remote add origin [email protected]:zwxs/demo1.git
  8. 把本地倉庫程式碼提交到伺服器裡面 git push -u orgin master
    如果是第一次提交沒有配置SSH祕鑰是無法提交
    1. 黑窗生成一公鑰 ssh-keygen -t rsa -C "[email protected]" 把郵箱改成自己的
    2. 複製.ssh 裡面的.pub公鑰去github繫結
    3. 使用push 把本地倉庫程式碼提交到遠端倉庫
  9. 如果專案修改 在git add . 把新增修改的程式碼新增到暫存區
  10. 把新增修改的暫存區程式碼提交到本地倉庫 git commit -m ‘提交日誌’
  11. 把本地倉庫程式碼提交到遠端伺服器倉庫 git push origin master

8. git的分支使用

分支的作用:當專案龐大的時候才需要使用分支就把專案細分成很多分支大家在不同分支裡面寫程式碼互不影響

  1. 檢視分支 git branch
  2. 建立分支 git branch 分支名 例如 git branch zhangsan
  3. 切換分支 git checkout 分支名 例如 git checkout zhangsan
  4. 合併分支 git merge 分支名 例如 git merge zhangsan (會把張三分支合併到當前分支如果已經是在張三分支下是沒有效果的 只能在非當前分支才能合併這個分支 例如 在主分支裡面合併張三的分支)
  5. 提交到遠端 git push -u origin 分支名 例如 git push -u origin zhangsan
    就會把程式碼提交到遠端github的張三分支裡面
  6. git分支合併的衝突解決 https://www.cnblogs.com/mengdd/p/3585038.html

9. 使用github實現靜態頁面託管

  1. 把本地靜態頁面託管到github伺服器 讓github伺服器作為你的伺服器 來顯示你的頁面
  2. 步驟1
    1. 開啟github的倉庫
    2. 點選程式碼資料夾左上角 branch master
    3. 在輸入框裡面輸入gh-pages (分支) 按回車
    4. 開啟域名使用者名稱.github.io/倉庫名
      zwxs.github.io/jd2
  3. 步驟2
    1. 開啟git bash黑窗
    2. 建立一個分支 git branch gh-pages
    3. 檢視分支 git branch 檢視所有分支
    4. 切換到gh-pages分支 git checkout gh-pages
    5. 把本地的程式碼提交到遠端倉庫的gh-pages分支 git push -u origin gh-pages

10. 總結

  1. 版本: 軟體更新一個編號 1.0 2.0 3.0
  2. 補丁: 大版本出了問題需要維護 產生一個新的版本(小版本) 1.1 1.1.1 1.1.1.1
  3. 版本管理: 版本太多的時候原始碼也會很多 原始碼有多份 管理起來 把每個版本的程式碼記錄下來如果新版本出了問題回到之前的舊版本
  4. 常見的版本管理系統: svn git vss
  5. 集中式版本管理 分散式版本管理
    1. svn集中式是集中在一臺伺服器電腦上管理程式碼的版本 需要聯網 對伺服器要求高 不開源
    2. git分散式的分佈在每個人電腦上去管理版本 版本更新版本回退等都是在本地 伺服器只是用來開源專案 多人協作開發使用 不需要聯網 對伺服器要求不高適合開源專案
  6. git軟體 一路下一步安裝出現 git bash成功
  7. git基本命令
    1. git init 初始化本地倉庫
    2. git add . 新增到暫存區
    3. git commit -m ‘提交日誌’ 把程式碼提交到本地的倉庫
    4. git status 檢視新增狀態
    5. git log 檢視提交詳細日誌
    6. git remote add origin 遠端倉庫的地址 指定遠端倉庫地址
    7. git remote rm origin 刪除遠端倉庫的地址
    8. git push -u origin master 把原生代碼提交到遠端倉庫主分支
    9. git reset --hard HEAD^ 回退到上一個版本
    10. git reset --hard 版本號 回退到指定版本
    11. git reflog 檢視所有版本號
    12. git diff 檢視對比
    13. git checkout – 檔案 撤銷更改
    14. git reset HEAD 檔案 撤銷add
    15. git branch 分支名 建立一個分支
    16. git checkout 分支名 切換到分支
    17. git merge 分支名 合併分支
    18. git push -u origin 分支 提交到指定的分支
    19. git clone 倉庫地址 克隆遠端倉庫到本地
    20. git pull 把遠端程式碼更新
  8. 靜態頁面託管