寫給自己看的Git使用指南

寫這篇blog的初衷是,在帶教新人使用sourcetree+gitlab管理腳本時(shí),發(fā)現(xiàn)自己磕磕巴巴無力解釋清楚Git是個(gè)什么鬼,因此決定系統(tǒng)學(xué)習(xí)并以文章的形式整理下助消化。

拜讀了廖雪峰的《Git教程》,非常淺顯易懂,也可以按目錄檢索章節(jié)內(nèi)容,耗費(fèi)一小時(shí)左右閱讀時(shí)間就能把Git的使用安排得明明白白。所以這篇文章并不再搬運(yùn)或者是再詮釋其中的內(nèi)容,而是按我個(gè)人的思考和閱讀習(xí)慣,寫一個(gè)濃縮簡短版的使用指南。


Why Git

Git 至少解決了版本管理和多人協(xié)作兩個(gè)問題。

  • 版本管理:相當(dāng)于后悔藥了,在關(guān)鍵節(jié)點(diǎn)及時(shí)保存和提交版本,寫好版本注釋,就能任意返回之前的某一個(gè)版本。不過分析師寫的SQL一般都不復(fù)雜,所以不太需要多個(gè)版本。

How it Works

Git原理

工作區(qū) -> 暫存區(qū):通過git add <filename>提交工作區(qū)的文件修改到版本庫的暫存區(qū)。暫存區(qū)的目的就是跟蹤修改。

  • 如果要撤銷工作區(qū)的修改,通過git checkout -- <filename>使其退回到已添加到暫存區(qū)的狀態(tài),如果文件未添加到暫存區(qū),則撤銷退回到和版本庫一樣的狀態(tài)。

暫存區(qū) -> 分支:通過git commit -m <message>提交到暫存區(qū)的所有修改到master或其他的分支上。

  • 如果未提交版本,要撤銷暫存區(qū)的提交,通過git reset Head <filename>把暫存區(qū)的修改返回到工作區(qū)。

  • 如果已提交版本,通過git reset --hard Head^返回上一個(gè)版本,或通過git reset --hard <commit id>返回之前的任一版本、或重回“未來”的版本。<commit id>可通過git loggit reflog來查詢提交歷史和命令歷史。emmmm傳說這個(gè)命令不要輕易用...

Branch

創(chuàng)建分支:通過git checkout -b dev創(chuàng)建并切換到dev分支上。以上語句實(shí)際可拆分成兩句。

  • git branch <branchname> 創(chuàng)建一個(gè)分支
  • git checkout <branchname> 切換到一個(gè)分支上,有別于撤銷工作區(qū)修改的語句`git checkout -- <filename>,注意區(qū)分

合并分支:通過git merge <branchname>合并某分支到當(dāng)前分支上

解決沖突:遇到版本沖突的無法自動(dòng)合并的,需要手動(dòng)解決沖突,重新提交修改。多人協(xié)作中,可按以下步驟嘗試:

  • 先使用git push origin <branchname>推送自己的修改
  • 如推送失敗,說明遠(yuǎn)程分支比本地分支更新,需要用git pull拉取并合并
  • 如合并失敗,需要手動(dòng)解決沖突,再次使用git push origin <branchname>推送

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

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

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,839評(píng)論 4 54
  • 一、基本概念: 注:對(duì)于git的分布式概念及其優(yōu)點(diǎn),不重復(fù)說明,自己百度或谷歌。本文中涉及到指令前面有$的,在cm...
    大廠offer閱讀 1,559評(píng)論 0 3
  • (預(yù)警:因?yàn)樵敿?xì),所以行文有些長,新手邊看邊操作效果出乎你的預(yù)料) 一:Git是什么? Git是目前世界上最先進(jìn)的...
    axiaochao閱讀 2,008評(píng)論 1 8
  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/。)是一個(gè)開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,953評(píng)論 0 13
  • Devin_a1bf閱讀 232評(píng)論 0 0

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