五GIT常用命令

安裝之類的就略過了直入正題
工作區(qū):本地代碼未add commit之前都在工作區(qū)
暫存區(qū):修改后進行暫存的代碼.git,如add 之后進行了存儲
本地代碼庫:commit到本地代碼庫
遠程倉庫:push提交遠程
忽略文件:.girignore配置忽略

作為注釋

/開頭防遞歸/結尾指定目錄
表示匹配零個或多個任意字符
?表示只匹配一個任意字符
!表示取反
[abc]表示匹配a,b,c
[0-9]表示匹配0-9
/a
*z/表示匹配/a/z或/a/b/z或/a/b/c/d/z

配置提交代碼時用戶信息:

git config --global user.name "name"
git config --global user.email "xxx@email.com"
global為全局配置,如果想在某個獨立項目中使用其他名字或郵箱去掉global即可

編輯git信息

git config -e 編輯當前倉庫
git config -e --global 編輯所有倉庫

查看配置信息:

git config --list

創(chuàng)建命令:

git init:初始化倉庫在當前目錄下生成.git目錄
git init newrepo在newrepo目錄下生成.git
git clone:遠程倉庫拷貝項目
git clone <repo> <directory>:拷貝到指定目錄

提交與修改:

git add --<file>:添加文件到暫存區(qū)
git add .:添加所有文件到暫存區(qū)
git status:查看當前倉庫狀態(tài) -s以緊湊格式輸出
git diff:比較暫存區(qū)和工作區(qū)差異
git diff --cached/--staged查看已暫存要提交內容
git commit -m :注釋說明"提交暫存區(qū)到本地倉庫
git commit -a -m:合并add執(zhí)行commit
git commit --amend:漏提文件或修改提交信息嘗試重新提交
git rm:刪除工作區(qū)文件
git rm --cached:移除文件追蹤單不刪除,可用于不小心提交了不想追蹤文件且未添加.gitignore文件
git rm -f:強制刪除暫存區(qū)文件
git mv from to:移動或重命名工作區(qū)文件

提交日志:

git log:查看歷史提交記錄
git log -p:查看每次提交差異-數字可以查看最近指定次數提交差異
git log --stat:每次提交簡要信息
git log --oneline :簡潔版歷史提交記錄
git log --graph:查看歷史分支,合并
git log --reverse:逆向查看日志
git log --decorate:查看標簽
git log --author="name" --oneline:查看指定用戶提交日志
--since --before --until --after:查看指定日期或范圍例:git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
git blame <file>:以列表形勢查看指定文件修改記錄

遠程操作:

git remote:查看遠程倉庫操作-v顯示倉庫對應的URL
git ls-remote (remote):顯式地獲得遠程引用完整列表
git remote show name:查看名為name的遠程倉庫信息
git remote add name url:添加一個新的遠程倉庫并用name替代url,后續(xù)可以直接用name操作
git remote rename from to:修改遠程倉庫簡寫名,同時修改遠程分支名
git fetch name:結合上邊命令使用從遠程拉取代碼
git fetch --all:抓取所有遠程倉庫
git fetch:抓去遠程倉庫代碼需要手動合并
git pull:下載遠程代碼并合并
git push:上傳遠程代碼并合并
git push origin a:b:將本地a分支推送到遠程倉庫b分支
git push origin --delete branchname:刪除遠程分支

分支管理:

git branch:查看本地分支
git branch (branchname):創(chuàng)建分支
git branch -d (branchname):刪除指定分支
git branch -v:查看每個分支最后提交--merged與--no-merged過濾合并未合并
git branch -vv:列出本地分及其詳細信息
信息git checkout (branchname):切換分支
git checkout -b (branchname):創(chuàng)建并切換到新創(chuàng)建分支
git rebase master:將當前分支所有修改移到變基移到master,然后再切換到master分支快速合并當前分支完成代碼合并,減少提交歷史
git rebase --onto master server client:取出 client分支,找出處于client分支和server分支的共同祖先之后的修改,然后把它們在 master分支上重演一遍,即排除server分之修改只將獨屬于client的修改重演到master分支
git rebase master server:將上邊提到的server分支重演到master分支,切換到master再進行快速合并git merge server
盡量少用變基操作因為風險可能有點大,如果使用只在本地代碼進行變基,如提交到遠程確保不會再丟棄上傳的變基

標簽:

git tag -a <tagname>:添加標簽用于記錄關鍵節(jié)點
git tag -a <tagname> (提交id):在指定提交下追加標簽
git tag -d <tagname>:刪除標簽
git tag:查看標簽
git tag -a <tagname> -m "message":指定標簽信息
git tag -a v1.2 9fceb02:歷史提交打tag
git tag -s <tagname> -m "message":PGP簽名標簽
git log --oneline --decorate --graph --all:輸出提交歷史、各個分支的指向以及項目的分支分叉情況
git push origin tagname:顯示提交標簽后才能在遠程倉庫共享
git push origin --tags:推送所有標簽到遠程倉庫
git checkout -b [branchname] [tagname]:在特定的標簽上創(chuàng)建一個新分支
git show <tagname> :查看修改內容

撤銷操作:

git reset:回退版本
git reset HEAD file:從暫存區(qū)恢復文件到已修改未暫存狀態(tài)
git reset eb43bf file.txt:回退指定版本
git checkout --file:撤銷文件修改到上次提交狀態(tài)
git reset HEAD:覆蓋暫存區(qū),工作區(qū)不受影響HEAD~1/2/3指定版本
git reset --hard commitID:永指定版本覆蓋工作區(qū)
git reset --hard HEAD:回到之前的狀態(tài)或其他你想要恢復的狀態(tài)
git rm --cached <file> :刪除暫存區(qū)文件,工作區(qū)不變
git checkout .(全部替換)/git checkout -- <file>(替換文件),會清除工作區(qū)中未添加到暫存區(qū)的改動。
git checkout HEAD .(全部替換)/git checkout HEAD <file>(替換文件),會清除工作區(qū)未提交改動和暫存區(qū)未提交改動。

代碼合并

git merge (branchname): 合并指定分支到當前分支
git merge --abort:有沖突時簡單地退出合并并嘗試恢復到合并前狀態(tài)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 簡介 Git是一個開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項目。 Git 與常用的版本控制工具 ...
    閩越布衣閱讀 2,875評論 0 18
  • 版本控制 git本質是一個分布式版本控制系統(tǒng),客戶端可以完成clone整個倉庫,然后進行提交和修改。 一、了解gi...
    紫瑟楓閱讀 399評論 0 0
  • 前言 Git是什么 官方話:Git是一個免費的開源分布式版本控制系統(tǒng),旨在快速高效地處理從小型到大型項目的所有事務...
    梅先森森森森森森閱讀 2,107評論 1 3
  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/。)是一個開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,941評論 0 13
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    愛的魔力賺圈圈閱讀 36,905評論 0 1

友情鏈接更多精彩內容