小白快速快入門Git
- 什么是Git
- SVN VS Git
- 什么是版本控制
- 安裝Git
- 誰在操作?
- Git本地倉庫
- 本地倉庫構造
- 重點
- Git常用基本操作
- git add
- git commit
- git diff
- git log
- git reset
- git mv
- checkout
- git tag
- clear
- Github使用教程
- 什么是Github
- 安裝Github
- 添加遠程倉庫
- 找到key
- 打開Github官網設定
- 開始創建遠程倉庫
- 創建后
- push
- pull
- clone
什么是Git
- Git是目前世界上最先進的分布式版本控制系統(沒有之一),
- Git有什么特點?簡單來說就是:高端大氣上檔次!
SVN VS Git
- Git是分布式的版本控制系統,而SVN是集中式的版本控制系統,下面畫個圖來講解它們的區別:

什么是版本控制
- 我們今天上班敲了一天代碼,然后關機下班,明天來的時候,可能因為某個原因要修改代碼,修改之后發現,怎么比之前的還差,于是又得修改,一直一直修改下去,最后不知道修改了多少次,到頭來可能覺得還是最初的代碼寫的好,最直接的方法就是手動敲代碼恢復到最初的代碼
- 這個程序實在是難受,于是Git就被廣泛使用了,因為Git是版本控制系統,只要我們把代碼交給了Git,我們就相當于擁有的后悔藥,可以把代碼恢復到任意的版本,Git還有一個特性就是分布式(這個接下來就會講到),由于這個特性,SVN逐漸被Git取代了
- 下圖就叫版本控制,可以查收提交的作者和提交的相關資訊

安裝Git
- Git官網下載地址:https://git-scm.com/
- Windows版本的Git安裝除了安裝路徑需要修改一下,其他的地方都可以默認,然后一直next就安裝完成了,
- 安裝完之后,我們在Windows任意位置右鍵,如果出現下面紅色框中的選項,就說明Git安裝成功了,

- 右鍵空白處,如圖顯示剛安裝成功

- 配置視窗字體

- 按住ctrl+ 滑鼠滾輪也可以放大視窗,但下一次打開又是默認字體大小
誰在操作?
- 在代碼的推送和拉取的時候,Git要知道你是誰,也就是能標識你身份的資訊,
- 這些資訊就是用戶名和郵箱
設定全域身份資訊,也就是對所有本地倉庫有效,
git config --global user.name = 用戶名
git config --global user.email = 郵箱
設定本地倉庫身份資訊,也就是只對改本地倉庫起效,
git config user.name = 用戶名
git config user.email = 郵箱
查看全域身份資訊,查看本地倉庫身份資訊去掉–global即可,
git config --global user.name
git config --global user.email

一般設定全域身份資訊
Git本地倉庫
- 我們需要創建Git本地倉庫,然后把代碼交給Git管理,這樣才能讓Git控制我們的代碼版本,我們才算擁有了后悔藥,
- 在Windows上,任意的Git命令都是在Git Bash Here中執行,我們通過git init命令來創建本地倉庫,執行命令后會創建.git檔案夾,該檔案夾默認是隱藏的,不能手動對該檔案夾做其他操作,否則會破壞本地倉庫,

- 在Windows上,任意的Git命令都是在Git Bash Here中執行,我們通過git init命令來創建本地倉庫,執行命令后會創建.git檔案夾,該檔案夾默認是隱藏的,不能手動對該檔案夾做其他操作,否則會破壞本地倉庫,
- 如果你非要看隱藏檔案在哪里,請看下標

- 查看–勾選隱藏專案,即可以顯示隱藏的檔案.git

- 雖然我們是安裝Windows版本的Git,但是Git一開始是為合并Linux代碼被誕生的,所以Git命令兼容Linux命令,
- 我們右鍵可以看到Git Bash Here,點擊它出現控制臺,可以看成是精簡版的Linux終端,可以執行Git命令,也可以執行Linux命令,
本地倉庫構造

- 了解了Git本地倉庫構造,接下來我們就真正行動起來,讓Git控制我們任意檔案的版本
- 這里只是以簡單的.txt檔案來講解Git是如何控制版本的
重點
摘自廖雪峰Git教程
- 所有的版本控制系統,其實只能跟蹤文本檔案的改動,比如TXT檔案,網頁,所有的程式代碼等等,Git也不例外,
- 版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”,
- 圖片、視頻這些二進制檔案,雖然也能由版本控制系統管理,但沒法跟蹤檔案的變化,只能把二進制檔案每次改動串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道,
- 不幸的是,Microsoft的Word格式是二進制格式,因此,版本控制系統是沒法跟蹤Word檔案的改動的,如果要真正使用版本控制系統,就要以純文本方式撰寫檔案,
- 因為文本是有編碼的,比如中文有常用的GBK編碼,日文有Shift_JIS編碼,如果沒有歷史遺留問題,強烈建議使用標準的UTF-8編碼,所有語言使用同一種編碼,既沒有沖突,又被所有平臺所支持,
如果你使用Windows系統,為了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文,
使用Windows的童鞋要特別注意:
- 千萬不要使用Windows自帶的記事本編輯任何文本檔案,原因是Microsoft開發記事本的團隊使用了一個非常弱智的行為來保存UTF-8編碼的檔案,他們自作聰明地在每個檔案開頭添加了0xefbbbf(十六進制)的字符,你會遇到很多不可思議的問題,比如,網頁第一行可能會顯示一個“?”,明明正確的程式一編譯就報語法錯誤,等等,都是由記事本的弱智行為帶來的,建議你下載Visual Studio Code代替記事本,不但功能強大,而且免費!
Git常用基本操作
- 千百年咱不用的命令咱就不說它了,就講些常用的,一起來
git add
第一步:
- pwd是列印所處的的目錄路徑
$ pwd
/d/Study
第二步:
-
在該目錄中新建檔案study.txt,任一輸入內容

第三步:檔案添加到暫存區 -
git add 檔案名

好了,接下來我們就把作業區中的檔案添加到暫存區中,添加的方式有多種,如下命令: -
添加單個檔案到暫存區
git add 檔案名稱
- 添加多個檔案到暫存區
git add 檔案名稱 檔案名稱 ...
- 添加該目錄下所有檔案到暫存區
git add .
第4步:查看檔案狀態
git status
- 檔案名顏色變成了綠色,說明該檔案已處于暫存區,也符合我們上面說的暫存區中所有的檔案都會顯示為綠色,

git commit
- 雖然我們把檔案添加到暫存區了,但是Git還不能真正管理我們的檔案
- 只有我們把檔案提交到版本庫,Git才算真正管理我們的檔案
- 因為我們每一次提交,都會產生一個版本號,我們就是通過版本號來任意切換不同的版本

- 簡單解釋一下git commit命令,-m后面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動記錄,這時我們再輸入git status命令,如下圖,發現什么都沒有了,說明作業區和暫存區沒有要提交的檔案了,

git diff
git diff 顧名思義就是查看difference,中文意思就是不同,即然是要看不同,我們就要先修改檔案
-
修改檔案內容為:day day up
-
再使用git status 查看檔案狀態

-
說明檔案被修改,但暫時沒有提提交到版本
-
要記住點:修改后就還要走兩個步驟:
- 先添加到暫存區
- 再提交到版本庫
-
那我們查看兩次提交檔案的區別呢?或者說檔案被修改哪些內容了,這時我們就用到git diff 檔案名稱命令,

-
畫個圖來回顧我們上面的操作

git log
說個笑話,我們可能明天起床后,就忘記了昨天我們往版本庫提交過多少次了,
哎,別擔心,Git就知道我們會出現這種情況,它很貼心,為我們準備了git log命令,該命令顯示從最近到最遠的提交日志,

如果嫌輸出資訊太多,看得眼花繚亂的,可以試試加上–pretty=oneline引數:

溫馨提示:
-
我們看到的一大串類似c617e68cad9e378…的就是commit id(版本號),和SVN不一樣,Git的commit id不是1,2,3……遞增的數字,而是一個SHA1計算出來的一個非常大的數字,用十六進制表示,每個人的commit id肯定是不一樣的,
-
為什么commit id需要用這么一大串數字表示呢?因為Git是分布式的版本控制系統,后面我們還要研究多人在同一個版本庫里作業,如果大家都用1,2,3……作為版本號,那肯定就沖突了,每提交一個新版本,實際上Git就會把它們自動串成一條時間線,
知道了每一次提交的版本號之后,我們就可以使用時光穿梭機,在多個版本中任意切換,
知道了每一次提交的版本號之后,我們就可以使用時光穿梭機,在多個版本中任意切換,
首先,Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,也就是最新的提交41ec51f8324d…(每個人提交的版本號肯定是不一樣的),上一個版本就是HEAD,上上一個版本就是HEAD,當然往上100個版本寫100個不現實,所以寫成HEAD~100,
git reset
- 我們已經知道怎么查看提交日志,以及了解什么是版本號了,接下來就開始使用時光穿梭機,git reset命令就是版本回退的命令,
- 在回退之前我們先看看當前Git.txt的內容,cat 檔案名稱命令是列印指定檔案內容
- cat 檔案名

git reset --hard head^:回退到上一個版本

git mv
- 用于移動或重命名一個檔案、目錄或軟連接
# 將檔案從暫存區和作業區中洗掉:
git mv file newfile
# 如果新但檔案名已經存在,但還是要重命名它,可以使用 -f 引數:
git mv -f file newfile
checkout
- 想檢出指定版本,比如回退版本,將代碼檢出到老代碼
- git log查看版本提交的記錄
- 通過commit提交的版本號進行切換
- 切換后效果展示 - git log再查看

git tag
- 作用:
- 我們想為我們的xx專案發布一個"1.0"版本, 我們可以用 git tag -a v1.0
- -a 選項意為"創建一個帶注解的標簽", 不用 -a 選項也可以執行的,但它不會記錄這標簽是啥時候打的,誰打的,也不會讓你添加個標簽的注解, 推薦一直創建帶注解的標簽,
- 命令:
git tag -a v1.0
- 完整:
git tag -a v1.0 -m "submit"
再通過git log 查看

clear
- 清除螢屏內容
- 清除前

- 清除后

Github使用教程
什么是Github
- GitHub作為免費的遠程倉庫
- 如果是個人的開源專案,放到GitHub上是完全沒有問題的,
- GitHub還是一個開源協作社區,通過GitHub,既可以讓別人參與你的開源專案,也可以參與別人的開源專案,
安裝Github
Github官網
- 點擊“Create your account”,進入GitHub注冊頁面
- 標注 1:Sign in,登錄;
- 標注 2:Sign up,注冊—點擊

- 輸入注冊資訊
輸入賬戶名、郵箱地址、密碼,點擊驗證,(注意:賬戶名、郵箱地址、密碼必須符合規則,且郵箱地址真實有效)

- 驗證

- 輸入郵箱驗證碼

添加遠程倉庫
- 由于你的本地 Git 倉庫和 GitHub 倉庫之間的傳輸是通過SSH加密的
- 所以我們需要配置驗證資訊:使用以下命令生成 SSH Key:
ssh-keygen -t rsa -C "3228373734@qq.com"

找到key

- 復制key

打開Github官網設定

開始創建遠程倉庫
- 如圖所示操作

創建后

push
- 操作示意圖


- 上傳后效果

pull
- pull 則是將遠程主機的master分支最新內容拉下來后與當前本地分支直接合并 fetch(獲取)+merge(合并)
- git pull origin master
注:使用場景,A開發人員將代碼放至Github,B開發修改代碼后,A用戶pull倉庫代碼至本地倉庫,這樣A開發人員就顯示了B開發者修改后的代碼

clone
- 要克隆一個倉庫,首先必須知道倉庫的地址,然后使用git clone命令克隆
git clone git@github.com:YF223/good.git- Git支持多種協議,包括https(速度慢),SSH(默認)

如果對軟體測驗、介面測驗、自動化測驗、技術同行、持續集成、面試經驗交流,感興趣可以進到893694563,群內會有不定期的分享測驗資料,
如果文章對你有幫助,麻煩伸出發財小手點個贊,感謝您的支持,你的點贊是我持續更新的動力,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300361.html
標籤:其他
上一篇:【開源】HTML+CSS+JS實作 ??美女拼圖游戲??
下一篇:【計算機網路】實驗1:雙絞線制作
