Git常用的命令有一些這些:
72da1657a18523178a1eae8395234b00.png
配置
Git自帶一個(gè) git config 的工具來幫助設(shè)置控制 Git外觀和行為的配置變量是掰,在我們安裝完git之后复凳,第一件事就是設(shè)置你的用戶名和郵件地址
后續(xù)每一個(gè)提交都會(huì)使用這些信息,它們會(huì)寫入到你的每一次提交中谋右,不可更改
設(shè)置提交代碼時(shí)的用戶信息命令如下:
git config [--global] user.name "[name]" //此處的用戶名是git或者gitee的賬號(hào)
git config [--global] user.email "[email address]"http://此處的郵箱是git或者gitee綁定的郵箱
啟動(dòng)
git init [project-name]:創(chuàng)建或在當(dāng)前目錄初始化一個(gè)git代碼庫
git clone url:下載一個(gè)項(xiàng)目和它的整個(gè)代碼歷史
基本操作
git init 初始化倉庫硬猫,默認(rèn)為 master 分支
git add . 提交全部文件修改到緩存區(qū)
git add <具體某個(gè)文件路徑+全名> 提交某些文件到緩存區(qū)
git diff 查看當(dāng)前代碼 add后,會(huì) add 哪些內(nèi)容
git diff --staged查看現(xiàn)在 commit 提交后改执,會(huì)提交哪些內(nèi)容
git status 查看當(dāng)前分支狀態(tài)
git pull <遠(yuǎn)程倉庫名> <遠(yuǎn)程分支名> 拉取遠(yuǎn)程倉庫的分支與本地當(dāng)前分支合并
git pull <遠(yuǎn)程倉庫名> <遠(yuǎn)程分支名>:<本地分支名> 拉取遠(yuǎn)程倉庫的分支與本地某個(gè)分支合并
git commit -m "<注釋>" 提交代碼到本地倉庫啸蜜,并寫提交注釋
git commit -v 提交時(shí)顯示所有diff信息
git commit --amend [file1] [file2] 重做上一次commit,并包括指定文件的新變化
關(guān)于提交信息的格式辈挂,可以遵循以下的規(guī)則:
feat: 新特性衬横,添加功能
fix: 修改 bug
refactor: 代碼重構(gòu)
docs: 文檔修改
style: 代碼格式修改, 注意不是 css 修改
test: 測(cè)試用例修改
chore: 其他修改, 比如構(gòu)建流程, 依賴管理
分支操作
git branch 查看本地所有分支
git branch -r 查看遠(yuǎn)程所有分支
git branch -a 查看本地和遠(yuǎn)程所有分支
git merge <分支名> 合并分支
git merge --abort 合并分支出現(xiàn)沖突時(shí),取消合并终蒂,一切回到合并前的狀態(tài)
git branch <新分支名> 基于當(dāng)前分支蜂林,新建一個(gè)分支
git checkout --orphan <新分支名> 新建一個(gè)空分支(會(huì)保留之前分支的所有文件)
git branch -D <分支名> 刪除本地某個(gè)分支
git push <遠(yuǎn)程庫名> :<分支名> 刪除遠(yuǎn)程某個(gè)分支
git branch <新分支名稱> <提交ID> 從提交歷史恢復(fù)某個(gè)刪掉的某個(gè)分支
git branch -m <原分支名> <新分支名> 分支更名
git checkout <分支名> 切換到本地某個(gè)分支
git checkout <遠(yuǎn)程庫名>/<分支名> 切換到線上某個(gè)分支
git checkout -b <新分支名> 把基于當(dāng)前分支新建分支遥诉,并切換為這個(gè)分支
遠(yuǎn)程同步
git fetch [remote] 下載遠(yuǎn)程倉庫的所有變動(dòng)
git remote -v 顯示所有遠(yuǎn)程倉庫
git pull [remote] [branch] 拉取遠(yuǎn)程倉庫的分支與本地當(dāng)前分支合并
git fetch 獲取線上最新版信息記錄晾蜘,不合并
git push [remote] [branch] 上傳本地指定分支到遠(yuǎn)程倉庫
git push [remote] --force 強(qiáng)行推送當(dāng)前分支到遠(yuǎn)程倉庫券躁,即使有沖突
git push [remote] --all 推送所有分支到遠(yuǎn)程倉庫
撤銷
git checkout [file] 恢復(fù)暫存區(qū)的指定文件到工作區(qū)
git checkout [commit] [file] 恢復(fù)某個(gè)commit的指定文件到暫存區(qū)和工作區(qū)
git checkout . 恢復(fù)暫存區(qū)的所有文件到工作區(qū)
git reset [commit] 重置當(dāng)前分支的指針為指定commit课兄,同時(shí)重置暫存區(qū)疑故,但工作區(qū)不變
git reset --hard 重置暫存區(qū)與工作區(qū)世舰,與上一次commit保持一致
git reset [file] 重置暫存區(qū)的指定文件糜值,與上一次commit保持一致嵌洼,但工作區(qū)不變
git revert [commit] 后者的所有變化都將被前者抵消妻柒,并且應(yīng)用到當(dāng)前分支
reset:真實(shí)硬性回滾惫霸,目標(biāo)版本后面的提交記錄全部丟失了
revert:同樣回滾猫缭,這個(gè)回滾操作相當(dāng)于一個(gè)提價(jià),目標(biāo)版本后面的提交記錄也全部都有
git命令速查表
c60268b90c58b578be7e0b6259ce9865.png