使用原則:先更新pull再提交commit
git進階命令.zshrc
# git進階命令
alias gg='git lg'
# 想從遠程倉庫獲取代碼,且更新本地的代碼,不造成時間線爆炸
alias gsfrs='git stash;git fetch;git rebase;git stash pop;'
# 查看分支
alias gb='git branch'
alias gbv='git branch -vv'
alias gba='git branch -a'
alias gbr='git branch --remote'
# 儲藏
alias gst='git stash -u'
alias gsp='git stash pop --index'
# 提交過但沒推送到遠程 提交記錄
alias gri='git rebase -i'
# 修改上一次提交的信息
alias gca='git commit --amend'
alias gcam='git commit --all -m'
配置忽略規(guī)則
要忽略哪些文件和文件夾
僅對還沒有被納入 git 版本管理的文件生效
一旦某個文件被暫存過,再配置 .gitignore 就無效
需要先把所有的文件取消暫存,再重新暫存
alias reignore='git rm -r --cached . && git add .'
自定義log(命令歷史):直接輸出,沒有交互
[alias]
hist = "!git --no-pager log --all --pretty=format:'%Cred%h%Creset %Cgreen%ad%Creset | %s %C(bold blue)[%an |%ae]%Creset' --date=format:'%Y-%m-%d' --abbrev-commit"
lg = "!git --no-pager log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
last = !git --no-pager log -1 HEAD
st = status
br = branch
ci = commit
co = checkout
mergetest = "!f(){ git merge --no-commit --no-ff \"$1\"; git merge --abort; echo \"Merge aborted\"; };f "
- 圖形化的界面展示commit的關(guān)系
-
git lg -p的變化的行數(shù)
常用Git命令
| git命令 | 命令說明 |
|---|---|
ssh -T git@github.com |
連接測試ssh連接 |
git add [file1] |
添加到本地緩存區(qū),.或*代表全部添加 |
git remote -v |
查看遠程倉庫路徑 |
git log |
打印日志 |
git diff |
當前沒有add 的內(nèi)容修改 |
git rflog |
查看所有提交記錄 |
git reset --hard 版本號 |
恢復到指定版本 |
git status |
檢查當前文件狀態(tài) |
開發(fā)中用到
| git命令 | 命令說明 |
|---|---|
git rm -rf --cached . |
添加.gitignore文件,清除本地緩存 |
[user] name = 467603639 email = 467603639@qq.com |
在.git文件夾下的config文件中單獨配置賬號 |
git config --global user.name "用戶名" |
全局配置用戶名email也可配置 |
git config --list |
查看用戶信息 |
標簽操作
| git命令 | 命令說明 |
|---|---|
git tag |
查看tag號 |
git push origin --tags |
推送本地標簽到遠程 (--tag 表示提交所有的tag到遠程,普通的git push origin master 是不會把標簽推到遠程的) |
git tag -d tagName |
刪除本地tag |
git push --delete origin 1.0.5 |
刪除遠程tag |
分支操作
| git命令 | 命令說明 |
|---|---|
git branch develop |
創(chuàng)建本地develop分支 |
git branch -a |
查看所有分支 |
git checkout master |
切換到master分支 |
git checkout -b dev |
創(chuàng)建并切換dev分支 |
git pull origin develop |
把本地分支推送到遠程 |
git merge develop |
[在master分支下執(zhí)行] 合并dev分支代碼到master |
git branch -d fixbug |
刪除fixbug分支 |
git push origin --delete fixbug |
遠程刪除 ???提交之后就刪除了 |
沖突解決
先將本地修改存儲起來`git stash`
`git pull`
還原暫存的內(nèi)容`git stash pop stash@{0}`
| git命令 | 命令說明 |
|---|---|
git stash |
返回到上一個commit |
git stash pop |
從棧中取回修改內(nèi)容 |