Git 命令行的使用

畢業快兩年,前一年一直在使用git圖形化管理工具,最近喜歡上了命令行操做,簡單暴力美啊,爲所欲爲的感受真的不錯,以至於放棄了SourceTree等工具git

提到命令行,推薦一本書,《git權威指南》 ,適合邊讀邊實踐設計模式

簡單理解基礎概念

工做區:你的工做目錄
暫存區:git add 以後
本地版本庫:git commit 以後
遠程版本庫:git push 以後app

常見命令
  • git init 初始化一個git倉庫,也就是在你的工做目錄下建立一個.git文件夾
  • git remote add 別名 倉庫地址 添加一個遠程倉庫地址
  • git remote rm 刪除一個倉庫
  • git remote -v 列出倉庫列表
  • git fetch 獲取遠端分支
  • git branch -r 查看所有分支,包括遠端分支
  • git pull
  • git push
  • git push -f 強推,不建議使用,生產環境建議ban掉此操做
  • git log
  • git diff 能夠diff兩個commit之間的差別
  • git show
  • git stash 貯藏,還原一個乾淨的工做區
  • git stash pop 彈出第一個貯藏
  • git checkout branchName 切換分支
  • git checkout commitId 切換到某個節點,這時將處於指針分離狀態
  • git checkout fileName || . 拋棄工做區的修改,已經提交到暫存區的不會改變
  • git reset --hard 重置到head指針指向,會拋棄工做區和暫存區全部的修改
  • git reset commitId 重置到某個節點
  • git revert 神器啊!!!回滾全靠它,這裏有一個小小的建議,每次提交只幹一件事,相似於設計模式中的單一原則,相信我,回滾的時候,你會感謝本身爲什麼如此機智
  • git bisect 二分查找,良好的提交習慣就用不到它
  • git patch 打補丁
  • git apply 應用補丁
開啓顏色輸出
git config --global color.ui.true
git config --global color.status auto  
git config --global color.diff auto  
git config --global color.branch auto  
git config --global color.interactive auto
命令簡化
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.co checkout
git config --global alias.lg 'log --graph'

每一個命令配上不一樣的參數,會有不同的驚喜,具體這裏就不寫了,有問題,下方能夠問我。工具

設置保護分支

應用場景:某個分支只有master才能push,這時你就能夠把master分支設置成保護分支,別人只能經過merge request向你發起請求,經你code review 後合併到主線分支,流程很規範,也最容易把控,減小線上出問題的風險fetch

相關文章
相關標籤/搜索