GitHub基本命令&&配置


最近一直在忙項目的事情,文章更新少了,等過段時間不忙的了,給大家多更新點內容,喜歡的朋友可以持續(xù)關注更新哦!!

認識Shell

  • 在計算機科學中,Shell俗稱殼,用來區(qū)別于Kernel(核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似于DOS下的command和后來的cmd.exe。它接收用戶命令,然后調用相應的應用程序。

  • 圖形界面shell:通過提供友好的可視化界面,調用相應應用程序,如windows系列操作系統(tǒng),Linux系統(tǒng)上的圖形化應用程序GNOME、KDE等。

  • Linux 默認使用 bash 所以我們要學習的就是以Bash為基礎的。
    首先安裝Git軟件。它內置了bash.(百度搜索git,下載跟自己電腦匹配的git版本,比如32位操作系統(tǒng),64位操作系統(tǒng))
    我們可以直接在里面進行命令操作。

  • 命令行shell:通過鍵盤輸入特定命令的方式,調用相應的應用程序,如windows系統(tǒng)的cmd.exe、Windows PowerShell,Linux系統(tǒng)的Bourne shell ( sh)、Bourne Again shell ( bash)等。

圖解1

shell

圖解2 --> 這種黑框框就是所謂的命令行shell

**window下的cmd.exe**

bash常用命令

  • 常見命令格式:命令 [-options] [參數(shù)]
  • pwd (Print Working Directory) 查看當前目錄
  • cd (Change Directory) 切換目錄,如 cd /etc
  • ls (List) 查看當前目錄下內容,如 ls -al
  • mkdir (Make Directory) 創(chuàng)建目錄,如 mkdir blog
  • touch 創(chuàng)建文件,如 touch index.html
  • wc (Word Count) 字數(shù)信息統(tǒng)計,如 wc index.html
  • cat 查看文件全部內容,如 cat index.html
  • more less 查看文件,如more /etc/passwd、less /etc/passwd
  • rm (remove) 刪除文件,如 rm index.html、rm -rf blog
  • rmdir (Remove Directory) 刪除文件夾,只能刪除空文件夾,不常用
  • mv (move) 移動文件或重命名,如 mv index.html ./demo/index.html
  • cp (copy) 復制文件,cp index.html ./demo/index.html
  • head 查看文件前幾行,如 head -5 index.html
  • tail 查看文件后幾行 –n –f,如 tail index.html、tail -5 index.html
  • tab 自動補全,連按兩次會將所有匹配內容顯示出來
  • history 查看操作歷史
  • ssh 遠程登錄,如ssh root@gitlab.study.com
  • (> 和 >>)重定向,如echo hello world! > README.md,>覆蓋 >>追加
  • wget 下載,如wget 要下載的文件地址
  • tar 解壓縮,如tar zxvf node-v4.4.0.tar.gz
  • curl 網(wǎng)絡請求,如curl '網(wǎng)絡地址'
  • who am i 查看當前用戶
  • | 管道符
  • grep 匹配內容,一般結合管道符使用**

vi 編輯器

  • vi編輯器是Linux和Unix上最基本的文本編輯器,工作在字符模式下。由于不需要圖形界面,vi是效率很高的文本編輯器。盡管在Linux上也有很多圖形界面的編輯器可用,但vi在系統(tǒng)和服務器管理中的功能是那些圖形編輯器所無法比擬的。

三種模式

  • 命令模式
  • 插入模式
  • 底行模式
  • 它們每一種模式下,操作的命令都是不一樣的。各個模式可以進行切換。

圖解

**vi編輯器三種模式**

命令行模式命令

  • 通過上圖我們發(fā)現(xiàn),輸入模式是不能直接切換到末行模式的,必須要先切回到命令模式(按ESC鍵)
  • ZZ(大寫)保存并退出
  • u轍銷操作,可多次使用
  • dd刪除當前行
  • yy復制當前行
  • p 粘貼內容
  • ctrl+f向前翻頁
  • ctrl+b向后翻頁
  • i進入編輯模式,當前光標處插入
  • a進入編輯模式,當前光標后插入
  • A進入編輯模式,光標移動到行尾
  • o進入編輯模式,當前行下面插入新行
  • O進入編輯模式,當前行上面插入新行

底行模式命令

  • :w保存,:w filenme另存為
  • :q退出
  • :wq保存并退出
  • :q! 不保存強制退出
  • :e! 撤銷更改,返回到上一次保存的狀態(tài)
  • :set nu 設置行號

SSH介紹

  • SSH是一種網(wǎng)絡協(xié)議,用于計算機之間的加密登錄。
  • 利用 SSH 協(xié)議可以有效防止遠程管理過程中的信息泄露問題。
  • SSH最初是UNIX系統(tǒng)上的一個程序,后來又迅速擴展到其他操作平臺。
  • SSH在正確使用時可彌補網(wǎng)絡中的漏洞。SSH客戶端適用于多種平臺。幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH。

圖解 -- > 加密和解密使用的是一樣的密鑰。

**流程**

加密方式

  • 對稱加密

  • 非對稱加密

  • 圖解 -- > 為什么要加密

**為何要加密**
  • 圖解 -- > 對稱加密
    原理:就是在用戶的密碼后面再添加一個串,然后把串加密成一堆亂碼.但是發(fā)送給服務器,服務器要想解密,必須拿到對應的那個串,但是在傳輸串的過程中,又有可能被攔截,只要有了這個串,就可以破解,所以對稱加密并不是很安全
**對稱加密**
  • 圖解 -- > 非對稱加密
    原理:每臺電腦中,公鑰和私鑰是不同的,但是一臺電腦只有一對互相對應的公鑰和私鑰,只有自己電腦對應的那個公鑰和私鑰,才能解開.我們把自己的公鑰發(fā)送給服務器,然后服務器再把自己的公鑰發(fā)給我們,這樣就可以免密登錄了
**非對稱加密**
**傳輸過程**

版本控制

  • 版本控制(Version Control Systems)版本控制(Revision control)是一種軟體工程技巧,在開發(fā)的過程中,確保由不同人所編輯的同一檔案都得到更新。

  • 舉例:我們通常都是手動的重命名一個文件進行備份的,index.html改成index1.html或者index.html.bak等形式,然后這種方式對于單個文件我們還能夠管理,但是對于整個項目而言,就會成為噩夢了?。?!

  • 版本控制分為兩種:
    **集中式管理 **
    **分布式管理 **

集中式管理

  • 集中式版本控制系統(tǒng),版本庫是集中存放在中央服務器的,而干活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始干活,干完活了,再把自己的活推送給中央服務器。中央服務器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完了,再放回圖書館。

圖解

**集中式管理**

弊端

  • 集中式版本控制系統(tǒng)最大的毛病就是必須聯(lián)網(wǎng)才能工作。所有的版本都在一個服務器上面。 如果服務掛了, 所有記錄的版本都了。

分布式管理

  • 分布式版本控制系統(tǒng),則不需要中央服務器,每個協(xié)同開發(fā)者都擁有一個完整的版本庫,這么一來,任何協(xié)同開發(fā)者用的服務器發(fā)生故障,事后都可以用其它協(xié)同開發(fā)者本地倉庫恢復。

** 圖解 **

**分布式管理**
  • 在實際使用分布式版本控制系統(tǒng)的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在一個局域網(wǎng)內,兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統(tǒng)通常也有一臺充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已。
  • 分布式版本控制系統(tǒng)彌補了前面兩種版本控制系統(tǒng)的缺陷,成為了版本控制的首選方案,其代表就是Git.

Git工作原理

  • 為了更好的學習git,我們必須了解Git管理我們文件的三種狀態(tài)

三種狀態(tài)

  • 已提交(committed)
  • 已修改(modified)
  • 已暫存(staged)

Git項目的三個工作區(qū)域

  • Git 的工作目錄

  • 暫存區(qū)域

  • 以及本地倉庫。

  • Git倉庫: 目錄是Git用來保護項目的原數(shù)據(jù)和對象數(shù)據(jù)庫的地方,這是Git中最重要的部分,從其他計算機拷貝倉庫時,拷貝的就是這里的數(shù)據(jù)

  • 工作目錄: 是對項目的某個版本獨立提取出來的內容,這些從Git倉庫的壓縮數(shù)據(jù)庫中提取出來的文件信息,放在本地供你使用和修改

  • 暫存區(qū)域 : 是一個文件,保存了下次提交的文件列表信息,一般在Git倉庫目錄中,有時候也被稱作'索引',不過一般還是叫做"暫存區(qū)域"

Git的工作流程

  • 在工作目錄中修改文件。
  • 暫存文件,將文件的快照放入暫存區(qū)域。
  • 提交更新,找到暫存區(qū)域的文件,將快照永久性存儲到Git倉庫目錄。

圖解

**Git的工作流程**

Git新用戶配置

  • 1.配置用戶名,郵箱
    git config --global user.name/user.email

圖解

**配置用戶名**

  • 2.初始化倉庫
    git init

圖解

**初始化倉庫**

  • 3.查看文件狀態(tài)
    git status

圖解

**查看文件狀態(tài)**

  • 4.添加文件到暫存區(qū)
    git add */-A

圖解

**添加文件到暫存區(qū)**
  • 5.提交文件到倉庫當中
    git commit -m"備注信息"

圖解

**提交文件到倉庫當中**

  • 6.查看所有版本信息
    git log

圖解

**查看版本信息**

  • 7.對文件進行修改時,再去查看狀態(tài)會出現(xiàn)modified狀態(tài),此時需要再次把它提交到暫存區(qū)
    git log

圖解

**修改再添加**

  • 8.修改完畢之后再次添加到暫存區(qū),當再次提交到倉庫時會生成一個新的sha值

圖解

**修改再次添加**

  • 9.恢復歷史

圖解

**恢復歷史**

**恢復歷史**
  • 10.每一次提交都會對應一個sha值
    sha:589738e18edf818142854a50c3efe82c5cf34a1b 該版本是誰提交,提交日期。

  • 到這里先把自己的Git帳號注冊好,電腦上把基本配置設置好!下次更新的時候教大家怎么使用Git.Git是全世界最大的開源社區(qū),這種東西是一定,必須要會的

未完待續(xù) ...

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,551評論 19 139
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,834評論 4 54
  • 由于Function類型不太好理解,概念比較抽象,推薦大家看書或者博文http://blog.csdn.net/g...
    跟Y死磕閱讀 593評論 0 1
  • 生活的快樂無憂是幸運,是向往,更是種心態(tài)??墒亲詥?,我真的做不到這種淡然的心態(tài)。從小,心理承受能力就差,又偏偏是一...
    景心9981閱讀 339評論 0 2
  • 剛剛看了那個漸凍人捐獻器官的新聞,其實昨天就看到了,今天在別的媒體上又看到一遍罷了, 總覺得,云未治者,是不得其法...
    我到海邊送夕陽閱讀 102評論 0 1

友情鏈接更多精彩內容