Git基礎學習
技術標籤:Git
git基礎
建立版本庫
初始化目錄變成Git可以管理的倉庫:
git init
把檔案t1.txt新增到倉庫:
git add t1.txt
把檔案提交到倉庫
git commit -m "說明註釋"
- 可以多次add,統一commit
- Git命令必須在Git倉庫目錄內執行(
git init
除外),在倉庫目錄外執行是沒有意義的。 - 新增某個檔案時,該檔案必須在當前目錄下存在,用
ls
或者dir
命令檢視當前目錄的檔案,看看檔案是否存在,或者是否寫錯了檔名。
基礎操作
檢視倉庫狀態
git status
檢視檔案改動內容
git diff t1.txt
檢視修改日誌
git log
檢視簡單版修改日誌
git log --pretty=oneline
前面十六進位制資料表示的是commit id(版本號)
版本回退
HEAD
表示當前版本,上一個版本是HEAD^
,上上版本是HEAD^^
,或者可以寫為HEAD~2
版本回退可以用
git reset --hard HEAD^
返回到最新版本可以用
git reset --hard <版本號前幾位(至少四位)>
如果不記得最新的版本號,可以用下面的命令查詢歷史中自己輸入的命令
git reflog
撤銷修改
-
當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令
git checkout -- file
git checkout
其實是用版本庫裡的版本替換工作區的版本,無論工作區是修改還是刪除,都可以“一鍵還原”。 -
當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令
git reset HEAD <file>
,就回到了場景1,第二步按場景1操作。
-
已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠端庫。
刪除檔案
-
git rm t1.txt
-
git commit -m "delete t1.txt"
遠端倉庫
github配置公鑰
-
建立SSH Key,在使用者主目錄下,找到.ssh目錄(應該是隱藏目錄)
ssh-keygen -t rsa -C "[email protected]"
會生成
id_rsa
id_rsa.pub
檔案。其中id_rsa
是私鑰,自己儲存;id_rsa.pub
是公鑰。 -
登陸github,開啟“Account settings”,“SSH Keys”頁面:然後點“Add SSH Key”,填上任意Title,在Key文字框裡貼上
id_rsa.pub
檔案的內容。
新增遠端庫
建立新倉庫
-
將本地倉庫與遠端倉庫關聯,遠端倉庫命名為
origin
git remote add origin [email protected]:zhm-super/gitlearn.git
-
將本地倉庫的內容推送到遠端庫上,加上
-u
引數,Git不但會把本地的master
分支內容推送的遠端新的master
分支,還會把本地的master
分支和遠端的master
分支關聯起來,便於後續推送簡化命令git push -u origin master
-
後續修改可以通過下面的命令將本地master分支的最新修改推送至github
從遠端庫克隆
git clone <倉庫地址>
git clone [email protected]:zhm-super/gitlearn.git
分支管理
建立與合併分支
檢視分支
git branch
建立分支
git branch <name>
切換分支
git switch <name> 或 git checkout <name>
建立+切換分支
git switch -c <name> 或 git checkout -b <name>
合併某分支到當前分支
git merge <name>
刪除分支
git branch -d <name>
遠端推送和抓取
檢視遠端庫
git remote
檢視遠端庫詳細資訊
git remote -v
推送分支
將本地master分支推送到遠端origin分支
git push origin master
抓取分支
git pull