git命令合集

2021-09-02 19:41:49 字數 3971 閱讀 7801

[size=large]

git全域性配置

git config --global user.name crperlin #git的使用者名稱

git config --global user.email [email protected] #git的登入賬號

git config --global core.editor vim #設定預設編輯器

git config --global merge.tool vimdiff #設定預設的對比檔案差異工具

git config --global color.status auto #顯示顏色資訊

git config --global color.branch auto #顯示顏色資訊

git config --global color.interactive auto #顯示顏色資訊

git config --global color.diff auto #顯示顏色資訊

git config --global push.default ****** #簡化提交

git config --list#檢視配置的資訊

git help config#獲取幫助資訊

配置sshkey

配置這貨的好處就是可以省去提交的時候每次都輸入賬號密碼;減少重複工作!

不管是github還是一些基於gitlab的託管社群,配置這個都是大同小異,在個人賬戶那裡找到ssh-keygen

ssh-keygen -t rsa -c [email protected] #生成金鑰,也可以通過圖形工具生成,看個人喜好

ssh -t [email protected] #測試鏈結github是否成功,其他社群網域名稱不同罷了

初始化本地倉庫/提交/鏈結遠端倉庫

git init #初始化

git status #獲取狀態,很實用的乙個功能,對檔案做了操作都能看到各種提示資訊

git add # . 或 * 代表全部新增

git commit -m "注釋文字" #新增注釋

git remote add origin [email protected]:crperlin/s-next.git #本地鏈結遠端倉庫

git push -u origin master #推送到主分支

轉殖遠端倉庫

一般的git託管社群都提供兩種,一種是基於https,一種是基於ssh

前者需要賬號密碼提交,後者可以配置ssh-keygen

git clone [email protected]:crperlin/s-next.git #轉殖到本地,倉庫名就是資料夾的名字

git clone xx.git 《自定義資料夾名字》 #不需要帶括號,只是區別

git倉庫操作

git add *#跟蹤新檔案

git rm -f * #強制刪除所有檔案

git rm --cached * #取消跟蹤

git mv file_from file_to #重新命名跟蹤檔案,與linux一致

git log#檢視提交記錄

git commit#提交更新

git commit -m "注釋文字" #新增注釋

git commit -a #跳過使用暫存區域,把所有已經跟蹤過的檔案暫存起來一併提交

git commit --amend #修改最後一次提交

git reset head *#取消已經暫存的檔案

git checkout -- file#取消對檔案的修改(從暫存區去除file)

git checkout branch|tag|commit -- file_name#從倉庫取出file覆蓋當前分支

git checkout -- .#從暫存區去除檔案覆蓋工作區

分支管理

git branch #列出本地分支

git branch -r #列出遠端分支

git branch -a #列出所有分支

git branch -v #檢視各個分支最後乙個提交物件的資訊

git branch --merge #檢視已經合併到當前分支的分支

git branch --no-merge #檢視為合併到當前分支的分支

git branch test #新建test分支

git checkout test #切換到test分支

git checkout -b test #新建+切換到test分支

git checkout -b test dev#基於dev新建test分支,並切換

git branch -d test #刪除test分支

git branch -d test #強制刪除test分支

git merge test #將test分支合併到當前分支

git rebase master #將master分之上超前的提交,變基到當前分支

分支資料推送更新

git fetch origin branch #獲取遠端上指定分支

git merge origin branch #合併遠端上指定分支

git push origin branch #推送到遠端上指定分支

git push origin localbranch:serverbranch #推送到遠端上指定分支

git checkout -b test origin/dev #基於遠端dev新建test分支

git push origin :server#刪除遠端分支[推送空分支,目前等同於刪除]

標籤版本管理

git tag#列出現有標籤

git tag v1.0.0 #新建標籤

git tag -a v0.1 -m '注釋文字' #新建帶注釋標籤

git tag v2.0 9fceb02 #給指定的指向新增版本

git show #顯示指定版本的詳細資訊

git checkout tagname#切換到標籤

git push origin v1.5#推送分支到源上

git push origin --tags#一次性推送所有分支

git tag -d v0.1#刪除標籤

git push origin :refs/tags/v0.1#刪除遠端標籤

alias【別名系統,基本和linux一致】

一. 到配置檔案配置,最傻瓜化的寫法,等值賦予

[alias]

logs = log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)<%an>%creset' --abbrev-commit

st = status

ci = commit

br = branch

co = checkout

df = diff

lg = log -p

二. 命令列追加

git config --global alias.co checkout

git config --global alias.ci commit

git config --global alias.br branch

...文字搜尋

git grep '查詢文字' #對全域性的字串查詢

git grep '查詢文字' v1.0.0 #針對版本的字串查詢

檔案修改詳情跟蹤

git blame #誰,在什麼時間,修改了檔案的什麼內容

撤銷#放棄工作目錄下的所有修改:

git reset --hard head

#移除快取區的所有檔案(i.e. 撤銷上次git add):

git reset head

#放棄某個檔案的所有本地修改:

git checkout head

#重置乙個提交(通過建立乙個截然不同的新提交)

git revert

#將head重置到指定的版本,並拋棄該版本之後的所有修改:

git reset --keep

[/size]

Git命令合集

git config global user.name yourname 提交你的使用者名稱 git config global user.email youremailname 提交你的郵箱位址 git config user.name 檢視你當前的使用者名稱 git config user.em...

git 命令合集

git 是乙個很強大的分布式版本控制系統。它不但適用於管理大型開源軟體的源 管理私人的文件和源 也有很多優勢。git常用操作命令 1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端...

git命令合集

列舉所有配置 git config l 為命令配置別名 git config global alias.co checkout git config global alias.ci commit git config global alias.st status git config global ...