柚子快報激活碼778899分享:Git 完全指南
柚子快報激活碼778899分享:Git 完全指南
安裝Git
要使用Git有兩種方式:使用命令行和使用圖形界面。筆者更推薦使用命令行工具,原因如下:
命令行的命令是不變的、通用的,而圖形界面有很多,或許我們碰到了一個更好的圖形界面又要去再次學習,這是浪費精力的。學習命令行能夠讓我們“知其所以然”,了解版本控制的核心原理。這條原則對其它的軟件也同樣適用。命令行效率更高。很多人可能覺得圖形界面的效率更高,其實不然,與其滿屏幕的移動鼠標、尋找按鈕,不如一行命令或一個腳本來得輕快。當然,這條原則對其它軟件可能不適用。
既然決定使用Git命令行,現(xiàn)在就需要安裝Git了。
訪問 https://git-scm.com/ ,在頁面右下角會有一個醒目的 Download for Windows 按鈕,點擊下載安裝包,然后一步步使用默認設置安裝即可。
可以選擇安裝完整版或便攜版,如果安裝便攜版,需要解壓之后將git.exe所在的目錄添加到PATH環(huán)境變量,不過由于我們之后會頻繁的用到Git命令,所以更推薦安裝完整版。
安裝好Git之后,打開終端工具,輸入如下幾個命令檢測是否安裝成功:
git --help # 查看幫助
git --version # 查看git版本號
如果沒有錯誤信息,則表示安裝成功。
配置SSH登錄
我們使用Git命令不可避免的要跟Github打交道。要將本地文件上傳到Github的倉庫,就需要身份鑒權,基于安全的考量,已經(jīng)不推薦用戶名密碼的方式,而推薦SSH非對稱秘鑰的方式。
首先進入Bash環(huán)境,運行如下命令:
ssh-keygen -t rsa -C "提示信息"
ssh-keygen常用選項如下:
-f filename : 要保存的文件名,包含路徑-t : 秘鑰類型,一般為rsa-b : 指定秘鑰長度,一般為2048或4096
這里的提示信息可以隨意寫,一般為自己的郵箱。
運行上述命令后,終端會問你幾個問題以進一步完成秘鑰文件的生成,其它的可以直接回車以同意默認設置,最重要的是秘鑰文件名,默認是C:\Users\用戶名/.ssh/id_rsa,秘鑰文件一般放在家目錄,名稱可以隨便取。如果已經(jīng)存在同名的秘鑰文件記得要修改以免覆蓋其它秘鑰文件。我們這里使用默認設置。
然后就會在家目錄生成兩個文件: id_rsa 和 id_rsa.pub。
帶有pub的是公鑰文件,可以分發(fā)在網(wǎng)絡上。另一個是私鑰文件,一定不能泄露。
使用VSCode或記事本打開id_rsa.pub文件,內(nèi)容只有一行,全選復制。
打開瀏覽器,輸入 https://github.com/settings/keys ,點擊右邊的 New SSH Key,在Title文本框輸入一些信息,在Key文本框粘貼我們剛剛復制好的公鑰文本,點擊 Add SSH Key ,至此ssh秘鑰配置完成。
回到本地bash環(huán)境,運行如下命令,如果輸出內(nèi)部包含Successfully表示配置成功。
ssh -T git@github.com
當然,第一次配置可能不會成功,遇到問題首先多嘗試幾次,然后將輸出內(nèi)容粘貼到搜索引擎以尋求其它實踐者的經(jīng)驗。
另外,由于Github本身的不穩(wěn)定性,有些時候可能需要一點科學方法才能連上。
配置用戶名和郵箱
在以后提交到倉庫的時候需要指定用戶名和郵箱,這里提前進行全局設置,以后默認使用該身份。使用如下命令設置用戶名和郵箱:
git config --global user.name "姓名"
git config --global user.email "郵箱"
Git Bash
安裝Git后默認會同時安裝Git Bash,該工具提供了非常多開箱急用的Linux原生命令,例如cd、touch、vim、sed、grep等。如果要學習Linux Shell,就可以使用該工具。
進入Bash環(huán)境的方式有兩種。第一種是在桌面或任意文件夾內(nèi)右擊,選擇Git Bash Here ,這會以該文件夾為工作目錄進入Bash環(huán)境。第二種是在任意終端輸入bash 即可進入bash環(huán)境,工作目錄保持不變。
在bash環(huán)境下,文件路徑會使用Linux風格的 /,例如Windows風格的 D:\test 在bash環(huán)境下就是 /d/test 。使用 cd切換工作目錄時應該注意習慣的轉換。
bash也支持家目錄,使用 cd ~會回到用戶的個人目錄,其實是進入了Windows系統(tǒng)的 C:\Users\用戶名\ 文件夾。
Git的原理和 .git 文件夾
工作區(qū): 在這里開始編輯。暫存區(qū): 在修改文件后,通過git add 將修改添加到暫存區(qū)。暫存區(qū)的本質(zhì)其實是要提交到倉庫的文件列表。存儲庫: 使用git commit -m ‘提交說明’, 從暫存區(qū)提交到倉庫
Git的本質(zhì)直觀表現(xiàn)上就是.git文件夾。
在克隆Github倉庫的時候,默認會在本地新生成一個文件夾,文件夾名稱就是倉庫名。除了將倉庫內(nèi)的所有文件都拷貝到這個文件夾內(nèi)以外,還有一個至關重要的動作,就是在新文件夾內(nèi)包含一個隱藏文件夾——.git。
.git文件夾可以說就是Git的精華所在,該文件夾完整準確的記錄了本地倉庫所有的操作,包括修改、刪除、新增等等。同時,還記錄了分支名、遠程倉庫地址等等,所以,我們無需手動添加遠程倉庫地址,直接使用git push即可將本地的更改推送到Github。
git clone
git clone的作用是將倉庫下載到本地,語法如下:
git clone https://github.com/用戶/倉庫.git
使用git clone 而不是 git init
由于大多數(shù)情況下我們是要將本地倉庫推送到遠程Github倉庫,所以推薦先在Github初始化好倉庫,然后拷貝倉庫地址,使用git clone。因為這樣在本地的.git文件夾內(nèi)就已經(jīng)包含了遠程地址,之后在本地完成編輯和提交后直接使用git push就可以推送到克隆的那個倉庫。
如果使用git init,就要事先使用git remote添加遠程倉庫,而且很容易造成本地倉庫和遠程倉庫的沖突。
因此,推薦使用git clone而不是git init。
git add
git add的作用是在編輯之后,將更改統(tǒng)一提交到暫存區(qū):
git add .
需要說明的是,在2.x版本之后,git add .和git add -A的作用是完全一樣的。
git branch分支管理
命令作用git branch查看本地分支,帶*為當前本地分支git branch -r查看遠程的分支,帶*為當前遠程分支git branch xxx新建一個名為xxx的分支 git checkout xxx切換當前分支為xxx分支git branch -m xxxx將當前分支重命名為xxxxgit branch -b yyy新建yyy分支并切換到新分支git branch -d xxx刪除xxx本地分支git branch -D xxx強制刪除xxx本地分支
遠程倉庫管理
命令作用git remote顯示遠程倉庫git remote -v顯示遠程倉庫的詳細信息git remote add origin 倉庫url新建遠程倉庫,origin只是命名習慣,可以任意取名,下同git remote rm origin刪除遠程倉庫git remote rename origin 新名稱重命名遠程倉庫git push origin 本地分支:遠程分支將本地倉庫的分支上傳到遠程倉庫的分支git push origin master一般情況下,本地和遠程倉庫的分支名均為master,那么可以這樣簡寫git push --force origin 本地分支:遠程分支忽略其它的提交,強制推送,--force等同于-f,注意--force選項謹慎使用。git pull將本地的倉庫與遠程倉庫對齊
git commit
git commit 的作用是將暫存區(qū)的內(nèi)容提交到本地倉庫,語法如下:
git commit -m '提交說明'
注意,這個提交說明一定要寫,否則git不讓提交。
git push
git push的作用是將本地倉庫推送到遠程倉庫,如果之前是用git clone下載下來的倉庫,那么在.git文件夾會自動記錄遠程倉庫的地址,那么可以直接運行如下命令推送到遠程倉庫:
git push
如果之前是用git init 初始化的本地倉庫,那么就需要使用git remote add 先添加遠程倉庫,一般名稱為origin,然后運行:
git push origin master:master
個人項目Git常用的命令
對于個人項目,例如GitHub Pages靜態(tài)博客頁面,往往只需要先將倉庫下載下來,然后修改,然后提交推送到Github,這時候不需要用到分支、標簽等特性,常用的也就如下幾個命令:
命令作用 git clone 倉庫url克隆倉庫到本地git add . 將所有改動提交到暫存區(qū)git commit -m '提交說明'將暫存區(qū)提交到本地倉庫git push將本地倉庫同步到Github
查看提交歷史
查看提交歷史包括兩個命令:git log、 git reflog,這兩個命令的區(qū)別是后者還記錄了回退操作。
使用git reflog 輸出關鍵信息,而且還包括退的記錄,推薦使用。
要查看提交的歷史,使用git log,這會從近到遠依次列出每一次的提交。
還支持根據(jù)提交信息中的關鍵字來過濾提交歷史。你可以使用–grep選項并指定要搜索的關鍵字。以下是使用該選項的示例命令:
git log --grep= '關鍵字'
關鍵字支持通配符。
不過,git log輸出的內(nèi)容較多,第一次不會顯示完整,往往需要按住空格以輸出更多內(nèi)容,按q退出輸出。推薦使用git reflog。
回退
首先,使用git reflog列出提交記錄,找到要回退的那條記錄的commitID。
然后,使用git checkout命令回退到那次提交對應的狀態(tài):
get checkout commitID
標簽
Git 可以給倉庫歷史中的某一個提交打上標簽,以示重要。 比較有代表性的是人們會使用這個功能來標記發(fā)布結點( v1.0 、 v2.0 等等)。
在 Git 中列出已有的標簽非常簡單,只需要輸入 git tag。
你也可以按照特定的模式查找標簽。 例如,Git 自身的源代碼倉庫包含標簽的數(shù)量超過 500 個。 如果只對 1.8.5 系列感興趣,可以運行:
git tag -l "1.8.5*"
Git 支持兩種標簽:輕量標簽(lightweight)與附注標簽(annotated)。輕量標簽很像一個不會改變的分支——它只是某個特定提交的引用。而附注標簽是存儲在 Git 數(shù)據(jù)庫中的一個完整對象, 它們是可以被校驗的。推薦使用附注標簽。
給某次提交打標簽,并附上該標簽的說明:
git tag -a v1.0 9fceb02 -m "Release 1.0"
-a選項后接標簽名稱,其后接commitID,-m選項為該標簽的附件說明。
柚子快報激活碼778899分享:Git 完全指南
推薦文章
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。