[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 ...