簡單理解基礎(chǔ)概念
工作區(qū):你的工作目錄
暫存區(qū):git add 之后
本地版本庫:git commit 之后
遠程版本庫:git push 之后
常見命令
git init 初始化一個git倉庫获黔,也就是在你的工作目錄下創(chuàng)建一個.git文件夾
git remote add 別名 倉庫地址 添加一個遠程倉庫地址
git remote rm 刪除一個倉庫
git remote -v 列出倉庫列表
git fetch 獲取遠端分支
git branch -r 查看全部分支杯巨,包括遠端分支
git pull
git push
git push -f 強推龄恋,不建議使用失息,生產(chǎn)環(huán)境建議ban掉此操作
git log
git diff 可以diff兩個commit之間的差異
git show
git stash 貯藏,還原一個干凈的工作區(qū)
git stash pop 彈出第一個貯藏
git checkout branchName 切換分支
git checkout commitId 切換到某個節(jié)點葱她,這時將處于指針分離狀態(tài)
git checkout fileName || . 拋棄工作區(qū)的修改群发,已經(jīng)提交到暫存區(qū)的不會改變
git reset --hard 重置到head指針指向,會拋棄工作區(qū)和暫存區(qū)所有的修改
git reset commitId 重置到某個節(jié)點
git revert 神器叭切!7觳怠连锯!回滾全靠它归苍,這里有一個小小的建議,每次提交只干一件事运怖,類似于設(shè)計模式中的單一原則霜医,相信我,回滾的時候驳规,你會感謝自己為何如此機智
git bisect 二分查找,良好的提交習慣就用不到它
git patch 打補丁
git apply 應(yīng)用補丁
開啟顏色輸出
命令簡化
設(shè)置保護分支
應(yīng)用場景:某個分支只有master才能push署海,這時你就可以把master分支設(shè)置成保護分支吗购,別人只能通過merge request向你發(fā)起請求,經(jīng)你code review 后合并到主線分支砸狞,流程很規(guī)范捻勉,也最容易把控,減少線上出問題的風險