Git使用進階

使用原則:先更新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)容

參考資料

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

相關(guān)閱讀更多精彩內(nèi)容

  • Add & Commit git init 初始化一個 Git 倉庫(repository),即把當前所在目錄變成...
    冬絮閱讀 5,132評論 0 9
  • Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 16,203評論 5 147
  • Git 命令行學習筆記 Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 4,155評論 0 11
  • 以前我從來不相信緣分這兩個字,但是現(xiàn)在,我信了。 去年的八月二十一號,我和我的小霍先生第一次見面,是無意間的和閨蜜...
    一顆偶然的泡芙閱讀 978評論 2 0
  • 看見不僅僅是單純看見,更多的是用眼睛、用心感受。 這本書講述了太多的事件,例:非典、孩子相繼自殺、華南...
    大倩姐jessies閱讀 264評論 0 0

友情鏈接更多精彩內(nèi)容