1. 程式人生 > 實用技巧 >【Git】Git 簡明使用筆記(基礎篇)

【Git】Git 簡明使用筆記(基礎篇)

工欲善其事,必先利其器。
本文學習源為https://www.liaoxuefeng.com/wiki/896043488029600

一、建立本地倉庫(提交新檔案)

倉庫可以理解為一個目錄,這個目錄裡面的所有檔案都可以被Git管理起來,每個檔案的修改、刪除、Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以還原。
建立版本庫的步驟:

  1. 建立一個空目錄
  2. 進入這個空目錄,並開啟終端執行 git init 即可初始化一個Git倉庫
  3. 新增檔案到Git倉庫

使用命令git add <file>(可以反覆多次使用,新增多個檔案)
使用命令git commit -m <message>

完成將檔案新增到本地倉庫

二、掌握工作區狀態(提交修改)

如果在本地修改了檔案,在提交之前可以

使用 git status 命令檢視檔案的修改狀態,

使用 git diff 檢視具體修改的內容。

提交修改的步驟:

  1. 使用命令 git add <file> 提交修改的檔案
  2. 使用命令 git status 檢視當前倉庫狀態,或使用命令 git diff 檢視具體修改內容
  3. 使用命令 git commit -m <message> 提交檔案到倉庫
  4. 再次使用 git status 檢視檢視倉庫的當前狀態,會輸出
    On branch master nothing to commit, working tree clean

三、版本回退

使用 git log 命令檢視歷史提交版本(使用 git log --pretty=oneline 簡化檢視資料)
使用 git reset --hard HEAD^ 回退到上一個版本( HEAD 表示當前版本,HEAD^ 表示上一個版本,HEAD^^ 表示上上個版本, HEAD~100 表示往上100個版本)
使用 git reflog 檢視命令歷史,確定切回到未來的哪個版本
使用 git reset --hard commit_id 回退到指定版本,包括回退到未來版本

四、工作區和暫存區

工作區,就是本地建立的目錄中除 .git 檔案之外的內容

版本庫在工作區中的一個隱藏目錄 .git

檔案中

版本庫裡存了很多東西,其中最重要的就是stage(就是暫存區),還有Git自動建立的第一個分支master,以及指向master的一個指標叫做HEAD

上述 git add 的過程實際上就是把檔案修改新增到暫存區;git commit 提交實際上就是把暫存區的所有內容提交到當前分支

五、管理修改

Git跟蹤並管理的是修改,而非檔案。

每次修改都應該使用 git add 將修改新增到暫存區,如果修改後沒有執行 git add ,執行 git commit 不會將本次修改提交。

規範的修改提交過程應為

修改1→ git add →修改2→ git add ....→ git commit

六、撤銷修改

修改了工作區的檔案,想直接丟棄工作區的修改,使用 git checkout -- file
修改了工作區的檔案並且使用 git add 新增到了暫存區,此時想丟棄修改,分兩步:
使用 git reset HEAD <file>
使用 git checkout -- file
修改了工作去的檔案並且使用 git commit 提交到了本地倉庫,撤銷修改方法參考版本回退

七、刪除檔案

使用命令 git rm 刪除檔案。
如果誤刪,並且誤刪檔案已經提交到版本庫,使用 git checkout -- file 恢復即可

八、配置SSH Key

1.建立SSH Key。在使用者主目錄下,檢視是否有.ssh目錄,檢視目錄中是否有id_rsa 和id_rsa.pub這兩個檔案,如果沒有,開啟終端或者Git Bash

使用 ssh-keygen -t rsa -C "[email protected]" 建立SSH Key

執行命令之後一路回車即可。

最後會在.ssh目錄生成id_rsa 和id_rsa.pub兩個檔案,id_rsa是金鑰,不能洩露出去;id_rsa.pub是公鑰,可以放心地告訴任何人

2.登入GitHub 設定公鑰

開啟Account settings, "SSH Keys"頁面,點選"Add SSH Key",填上任意title,在Key文字框裡貼上id_rsa.pub檔案中的內容,點選"Add Key"即可

九、新增檔案到遠端倉庫

本地建立了一個Git倉庫之後,再在Github上建立一個Git倉庫,使得本地的倉庫和Github上的倉庫遠端同步操作步驟
登陸Github,建立一個新的倉庫,倉庫名稱跟本地一致
在本地倉庫下執行命令 git remote add origin git@server-name:pathe/repo-name.git
執行命令 git push -u origin master 把本地庫的所有內容推送到遠端庫上,把本地倉庫內容推送到遠端,用 git push 命令,實際上是把當前分支master推送到遠端加上-u引數,Git不但會把本地的master內容推送到遠端新的master分支,還會把本地的master分支和遠端master分支關聯起來,在以後的推送或者拉取時就可以簡化命令
自此之後,只要本地作了提交,就可以使用命令 git push origin master 把本地master分支的最新修改推送至Github

十、從遠端庫克隆

在Github上建立一個新的倉庫
本地執行命令 git clone git@server-name:pathe/repo-name.git
Git 支援多種協議,比如https,ssh;但ssh協議速度最快。