初識Git

Git

- 本質上是就是一個版本控制系統,只不過相對於傳統的svn等集中式VCS,它的最大區別在於分佈式,即DVCSS;
    - 做爲一個版本控制系統,最基本的三大功能
        1. 版本控制
        2. 主動提交 --不一樣於word等自動保存以致於咱們撤銷沒辦法直接到指定位置,而是咱們主動commit保存記錄,這樣咱們就能夠經過命令到達任何一次的備份了
        3. 遠程倉庫
    
    - git三大特性
        1. Branch 分支
        2. Stage (index) 暫存區
        3. wokeFlow 工做流
複製代碼

下載

  • 毫無疑問的下載:直接網上下也挺方便,下面是個人網盤連接,無腦next就行
連接:https://pan.baidu.com/s/1c66qpJfIey_ly0C81Yezzw 
提取碼:u78r 
複製這段內容後打開百度網盤手機App,操做更方便哦
複製代碼

ssh -key配置

  1. 檢查是否有ssh文件(若是有但密碼之類的都忘記了建議刪掉.ssh文件根據下面步驟再來一遍)
打開Git,在Git命令行輸入cd  ~/.ssh檢查電腦本機是否有ssh key設置,注意: .ssh是隱藏文件,通常在電腦C/用戶/Administrator下面就可以找到。
通常狀況下 ,以前沒有用過git的同窗電腦本機通常不會 有ssh key 的;
複製代碼
  1. 本機ssh生成公鑰密鑰
    • 進入~路徑下,必須保證當前路徑在~路徑下,填寫郵箱
    cd ~
    ssh-keygen -t  rsa -C "你的郵箱" 
    # 回車後先將出現以下代碼
    Enter file in which to save the key (/c/Users/xxxx_000/.ssh/id_rsa):   # 此時咱們什麼都不須要操做,直接回車就好
    
    Enter passphrase (empty for no passphrase):            # 此時要你輸入碼(能夠爲空,直接回車就好,也能夠輸入你的密碼,這個密碼在你最後把本地資源推送到github上面的時候回會讓你填寫密碼,此時密碼隱藏,你輸入進去是看不到的)
    
    Enter same passphrase again: # 再次確認密碼(若是你第一次有輸入密碼,此次就再輸一次,若是沒有直接回車就好了)
    複製代碼
    • 若是出現以下,則說明本機已完成ssh key設置
        
    Your identification has been saved in /c/Users/xxxx_000/.ssh/id_rsa. //生成的密鑰
    Your public key has been saved in /c/Users/xxxx_000/.ssh/id_rsa.pub. //生成的公鑰
    The key fingerprint is:
    e3:51:33:xx:xx:xx:xx:xxx:61:28:83:e2:81 xxxxxx@yy.com
    複製代碼
  2. 添加ssh key 到Github上
首先登錄Github,點擊右上角的「▼」→Settings→SSH kyes→Add SSH key。
而後在打開c:/Users/xxxx_000/.ssh裏面的id_rsa.pub文件,全選複製公鑰內容
也能夠在git bush中的命令行輸入cat ~/.ssh/id_rsa.pub,將獲得公鑰
Title自定義,將公鑰粘貼到GitHub中Add an SSH key的key輸入框,最後「Add Key「
複製代碼
  1. 配置帳戶
//本質上是由於git屬於CVCSS,分佈式版本控制系統,即通俗而言,每一個人的電腦都是一個分支,因此須要聲明一個你的標識
git config --global user.name "你的用戶名"
git config --global user.email "你的郵箱"
複製代碼
  1. 測試ssh keys是否設置成功。
ssh -T git@github.com
# yes,而後輸入密碼後出現以下,則配置成功
複製代碼

怎麼上傳,如何作到利用git服務器來在公網看本身的網頁呢?

  1. 要想看,先上傳
    • 在github上新建一個倉庫
    • 配置bash,點擊「開始」搜索git 點開git bash終端 輸入如下命令
git add .  //.是指所有 或者也能夠用要上傳的用戶名代替
git commit -m "第一次提交" //註釋說明
git remote add origin  ssh  //ssh是指你的倉庫ssh,怎麼建立,搜搜超簡單(ssh位置見下圖)
git push -u origin master  //提交到你的倉庫
複製代碼

2. 怎麼公網訪問 - 打開該倉庫的setting,下拉到GitHub Pages項目,此處既有連接

補充

一些報錯
fatal: remote origin already exists.
  • 通常出現於remote add時,意思是已存在遠程聯繫了,那很簡單,說明以前連錯了,刪掉重連就行,刪掉的命令(刪)
    #name爲遠程鏈接的名稱,通常默認爲 origin,即git remote rm origin
    git remote remove <name>
    複製代碼
  • 相對應的添加遠程鏈接命令(增)
    # url 爲你的遠程倉庫的 url,可採用 http 協議或 ssh(git) 協議
    git remote add origin <url>
    複製代碼
  • 修改遠程倉庫的關聯(改)
    • 修改關聯的遠程倉庫的方法,主要有三種:
      1. 第一種:使用 git remote set-url 命令,更新遠程倉庫的 urlgit

        git remote set-url origin <newurl>
        複製代碼
      2. 第二種:先刪除以前關聯的遠程倉庫,再來添加新的遠程倉庫關聯(命令參考上述)github

      3. 第三種:直接修改項目目錄下的 .git 目錄中的 config 配置文件。web

Updates were rejected because the tip of your current branch is behind
  • 遠程repository和本地的repository衝突致使
  • 解決方法:
    1. 使用強制push命令
    # 但會使遠程修改丟失,本人親測。。會直接覆蓋遠程中與本地倉庫衝突的地方(個人狀況是把以前的代碼全覆蓋了。。。),三思後行
    git push -u origin master -f 
    複製代碼
    1. push前先將遠程repository修改pull下來
    git pull origin master
    
    git push -u origin master
    複製代碼
    1. 若不想merge遠程和本地修改,能夠先建立新的分支,而後push
    $ git branch [name]
    $ git push -u origin [name]
    複製代碼
fatal: HttpRequestException encountered.

發送請求時出錯。shell

發現是Github 禁用了TLS v1.0 and v1.1,必須更新Windows的git憑證管理器才行
解決問題也很簡單,打開下面連接,下載運行.exe文件便可
https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0
複製代碼

一些冷知識
在項目交由git託管(git init命令)後,會存在版本庫(.git文件夾),咱們說的緩存區stage就是其中的index文件,版本庫內包含全部git操做所須要的東西
hooks(鉤):存放一些shell腳本

Info:exclude:存放倉庫的一些信息緩存

logs:保存全部更新的引用記錄bash

HEAD: objects:存放全部的git對象服務器

COMMIT_EDITMSG:最新提交的一次Commit Message,git系統不會用到,給用戶一個參考ssh

description:倉庫的描述信息,主要給gitweb等git託管系統使用分佈式

config:git倉庫的配置文件 index:暫存區(stage),一個二進制文件ide

相關文章
相關標籤/搜索