Git 基礎教程02-常用命令

命令說明

  • <>內的內容爲必填項
  • []內的內容爲選填項
  • file代指具體的文件路徑
  • message代指具體的說明內容
  • remoteRepo代指具體的遠程倉庫地址
  • remoteName代指具體的遠程倉庫名稱
  • localBranchName代指具體的本地倉庫分支名
  • remoteBranchName代指具體的遠程倉庫分支名
  • stashName代指具體的工作現場名
  • commitId代指具體的版本號
  • tagName代指具體的標籤名
  • ...指可以指定多個(如file
  • HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^

基本用法

序號 命令內容 命令含義 備註
1 git init 創建版本庫 執行該命令的目錄將變成Git可以管理的本地倉庫,目錄下多的一個.git的目錄就是Git來跟蹤並管理版本庫的
2 git add <file>... 將工作區中的修改文件添加到本地倉庫的暫存區中 修改文件不僅僅指被修改的文件,也可以指添加的新文件、被刪除的文件等
3 git commit -m <message> 將暫存區的修改全部提交到本地倉庫的當前分支上 message爲本次提交添加說明
4 git status 查看當前分支的狀態
5 git diff [file]... 查看工作區和倉庫暫存區文件內容的修改 file不指定時,將查看所有修改文件
6 git diff HEAD [file]... 查看工作區和倉庫當前分支文件內容的修改 file不指定時,將查看所有修改文件
7 git log 顯示最近的提交日誌 添加參數--pretty=oneline可以簡化顯示內容;添加參數--graph --pretty=oneline --abbrev-commit可以查看分支的合併情況
8 git reset --hard <commitId> 回退到指定版本(也可以是未來的某個版本) 版本號(commitId)可以用HEAD表示,也可以用具體的值表示(值沒必要寫全,一般寫前7位即可)
9 git reflog 查看命令歷史 常用於確定版本號
10 git checkout -- <file> 撤銷工作區的修改 回退到最後一次git addgit commit後的狀態
11 git reset HEAD <file> 撤銷暫存區的修改 將暫存區的修改撤銷掉,重新放回工作區
12 git rm <file> 刪除文件 用於將刪除的文件添加到暫存區,使用git add <file>也可以達到同樣的效果
13 git rebase 把本地未推送的分叉提交歷史整理成直線

與遠程倉庫的此操作

序號 命令內容 命令含義 備註
1 git remote add origin <remoteRepo> 將一個已有的本地倉庫與遠程倉庫關聯 此時本地倉庫的分支並未與遠程倉庫的分支關聯
2 git remote [-v] 查看遠程倉庫信息 添加-v參數可以顯示詳細信息
3 git remote rename <old> <new> 修改遠程倉庫的名稱 遠程倉庫的默認名稱爲origin
4 git push [-u] [remoteName] [localBranchName] 將本地倉庫的指定分支推送到指定遠程倉庫的關聯分支上 執行推送操作的前提是,本地倉庫的指定分支與遠程倉庫的某個分支已關聯,如果沒有關聯,可以通過在 push 後添加 -u 參數進行首次關聯和推送
5 git branch --set-upstream-to=<remoteName>/<remoteBranchName> <localBranchName> 將本地倉庫的指定分支與遠程庫的指定分支進行關聯 提示信息:no tracking information
6 git clone <remoteRepo> 將遠程倉庫的默認分支克隆到本地 本地將創建相同名稱的倉庫和分支;默認分支一般是master分支
7 git clone -b <remoteBranchName> <remoteRepo> 直接將遠程倉庫的的指定分支克隆到本地 本地將只有一個與指定分支同名的分支
8 git checkout -b <localBranchName> <remoteName>/<remoteBranchName> 創建遠程庫的指定分支到本地 也可以說,本地創建一個分支,並將該分支與遠程庫的指定分支進行關聯
9 git pull 抓取遠程庫的關聯分支的最新提交併合併到本地的當前分支

分支管理

序號 命令內容 命令含義 備註
1 git branch <localBranchName> 創建分支
2 git checkout <localBranchName> 切換分支
3 git checkout -b <localBranchName> 創建並切換分支
4 git branch [-v] 顯示本地所有分支 當前分支會標一個*號;添加-v參數表示顯示分支的最新提交信息
5 git branch -a 顯示本地和遠程庫的所有分支
6 git branch -vv 顯示本地所有分支及對應遠程庫的關聯分支
7 git merge <localBranchName> 將指定分支合併到當前分支
8 git branch -d <localBranchName> 刪除分支
9 git branch -D <localBranchName> 強制刪除分支
10 git stash 將當前工作現場“儲藏”起來
11 git stash list 顯示存儲的工作現場(stash 內容)
12 git stash apply [stashName] 恢復指定工作現場 恢復後,stash內容並不刪除
13 git stash drop 刪除stash內容
14 git stash pop [stashName] 恢復現場的同時將刪除 stash 內容
15 git cherry-pick <commitId> 複製一個特定的提交到當前分支 使用場景:在master分支上修復的bug,想要合併到當前dev分支

標籤管理

標籤的作用主要就是方便提交的歷史版本的提取;創建一個標籤指向某一個版本號,後續需要取該版本,就可以直接通過標籤去取;標籤和分支一樣都是指向某個版本號的指針,但分支可以移動,標籤不能移動。

序號 命令內容 命令含義 備註
1 git tag <tagName> [commitId] 創建標籤 版本號不指定時,標籤將打在當前分支最新提交的版本號上的;創建的標籤都只存儲在本地,不會自動推送到遠程
2 git tag -a <tagName> -m <"message"> <commit-id> 創建帶有說明的標籤 -a指定標籤名,-m指定說明內容
3 git tag 查看所有標籤 標籤不是按時間順序列出,而是按字母排序的
4 git show <tagName> 查看標籤信息 標籤總是和某個版本號掛鉤。如果這個版本號同時出現在多個分支上,那麼在這幾個分支上都可以看到這個標籤
5 git tag -d <tagName> 刪除標籤
6 git push <remoteName> <tagName> 推送某個標籤到遠程
7 git push <remoteName> --tags 一次性推送所有尚未推送到遠程的本地標籤
8 git push origin :refs/tags/<tagName> 刪除遠程標籤 前提:本地對應標籤已刪除

參考:廖雪峯的 Git 教程

發佈了20 篇原創文章 · 獲贊 0 · 訪問量 430
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章