Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒有之一)。
分布式設(shè)計的核心是同步,而不是主從帅矗。
集中式vs分布式
區(qū)別:你本地是否有完整的版本庫歷史
版本庫匣砖、工作區(qū)科吭、暫存區(qū)
版本庫:工作區(qū)有一個隱藏目錄.git,這個不算工作區(qū)猴鲫,而是Git的版本庫对人。
工作區(qū):就是你在電腦里能看到的目錄,比如我的learngit文件夾就是一個工作區(qū)拂共。
暫存區(qū):git add命令實際上就是把要提交的所有修改放到暫存區(qū)(Stage)牺弄,然后,執(zhí)行g(shù)it commit就可以一次性把暫存區(qū)的所有修改提交到分支宜狐。
image.png
Git 跟蹤管理的是修改势告,而非文件
bug 分支
- 修復(fù)bug時,我們會通過創(chuàng)建新的bug分支進(jìn)行修復(fù)抚恒,然后合并咱台,最后刪除。
- 當(dāng)手頭有工作還沒有完成時俭驮,先把現(xiàn)場stash一下回溺,然后去修復(fù)bug,修復(fù)后,再git stash pop馅而,回到工作現(xiàn)場祥诽。
- 在master分支修復(fù)的bug,想要合并到當(dāng)前dev分支瓮恭,可以用git cherry-pick <commit id>命令雄坪,把bug提交的修改“復(fù)制”到當(dāng)前分支,避免重復(fù)勞動屯蹦。
Git.png