Git的使用流程

Git是一款分布式源代碼管理工具混槐,在本地遠程服務器上都有Git版本庫。

Git 主體架構

要想熟練使用Git,我們必須理解Git的工作原理:在本地倉庫中,工作區(qū)文件需要先被添加進暫緩區(qū)敢茁,然后暫緩區(qū)提交到分支译打,最后需要上傳到遠程服務器倉庫耗拓。

Git 本地倉庫結構

下面內容基于Git已經(jīng)安裝完畢的情況下:

單人開發(fā)

一、準備工作(只做一次)

  1. 創(chuàng)建一個工作區(qū)奏司,在工作區(qū)中打開git終端乔询,使用 git init 指令初始化git版本庫
  2. 通過git config user.name "姓名"git config user.email "郵箱"韵洋,在git config文件中添加使用者信息(必須設置竿刁,不設置要挨罵)
  3. 添加完成后通過git config -l指令查看是否添加成功黄锤。

二、開發(fā)階段(反復執(zhí)行)

  1. 編寫代碼
  2. 通過git add 文件名稱git add .指令將文件添加到版本庫的暫緩區(qū)中
  3. 通過git commit -m"說明"將暫緩區(qū)的文件添加到HEAD指針指向的分支中
    (默認只有一個分支, master分支, 也稱之為主分支)

注意點:
① 不是寫一句代碼就add commit一次, 應該是完成一個功能后再add commit
② commit時-m注釋一定要認真編寫, 與當前提交內容保持一致, 否則要挨罵

單人使用Git管理項目好處:
① 可以通過git status查看哪些文件沒有被管理, 修改了哪些文件
紅色(沒有被管理或者被修改了)食拜、綠色(在暫緩區(qū))
② 可以通過 git diff查看具體修改了哪些代碼
③ 可以通過git log / git reflog查看項目演變歷史
④ 可以通過git reset --hard版本號 在任意版本之間切換
⑤ 無需備份多個文件, 每次commit提交Git會自動備份

多人開發(fā)

一鸵熟、在遠程服務器上創(chuàng)建一個共享版本庫

  1. 打開遠程服務器,創(chuàng)建一個工作區(qū)负甸,并在工作區(qū)上運行Git終端
  2. 在終端工具中輸入命令git init --bare創(chuàng)建共享版本庫

二流强、開發(fā)人員下載遠程版本庫

  1. 開發(fā)人員在自己電腦上打開Git終端
  2. 使用命令git clone遠程服務器共享版本庫地址,從遠程服務器上下載當前項目共享版本庫
    (和單人開發(fā)使用Git的區(qū)別:單人開發(fā)是自己創(chuàng)建版本庫呻待,而多人開發(fā)是從遠程服務器下載版本庫)

三打月、進入開發(fā)階段

跟單人開發(fā)使用相同

  1. 設置config中的用戶名和郵箱

  2. 編寫代碼

  3. git add .添加文件到暫緩區(qū)

  4. git commit -m"說明"添加到HEADER指針指向的分支
    (commit是將編寫好的代碼提交到本地的版本庫,其他開發(fā)人員是拿不到我們提交的代碼的蚕捉,如果想要其他開發(fā)人員也能拿到我們提交的代碼奏篙,需要將編寫好的代碼提交到遠程服務器)

  5. 將代碼提交到遠程服務器指定分支:git push origin 分支名稱

  6. 其他開發(fā)人員只需要通過git pull就可以拿到更新的內容

多人開發(fā)使用Git的注意點:
① 不能將不能運行的代碼提交到本地和遠程服務器(切記一定不能)
② 如果服務器上有其它開發(fā)人員的更新內容, 那么不能直接通過push將我們的代碼提交到服務器,必須先將其它開發(fā)人員更新的內容更新到本地之后才能通過push提交我們的內容
③ 如何我們更新的內容和其它同事更新的內容有沖突(修改了同一個文件的同一行代碼), 這個時候需要我們自己手動修改沖突, 修改完沖突之后才能將代碼提交到遠程服務器

開發(fā)技巧:
只要開發(fā)完了一個功能就要立即提交代碼迫淹,因為在企業(yè)開發(fā)中誰后提交誰就負責解決沖突秘通,誰的工作量就大。

分支

一敛熬、如何查看有多少個分支

通過git branch指令就可以查看當前版本庫中有多少個分支
注意點:
① 如果當前的版本庫是空的, 那么無法查看
② 如果通過git branch指令查看當前版本庫中有多少個分支, 輸出的內容中哪一個分支前面有*號肺稀,就代表當前的HEADER指針指向哪一個分支, 我們提交的代碼就會提交到指向的分支中

二、如何創(chuàng)建一個分支

通過git branch 分支名稱來創(chuàng)建一個新的分支
注意點:
① 在哪個分只能中創(chuàng)建了新的分支荸型,那么創(chuàng)建出來的新分支就會繼承當前分支的所有狀態(tài)盹靴。
例如:在master分支中做了兩個操作,然后在master分支中創(chuàng)建了Dev分支瑞妇,那么創(chuàng)建出來的Dev分支就會繼承master分支中的這兩個操作稿静。
② 一旦分支被創(chuàng)建出來,分支就是獨立的辕狰,分支之間不會相互影響

三改备、如何切換分支

通過git checkout 分支名稱來修改HEADER指針的指向
注意點: 只要HEADER指針的指向發(fā)生了改變, 那么commit的代碼就會發(fā)生改變,HEAD指針指向誰蔓倍,commit提交的代碼就提交到誰里面去

四悬钳、如何將分支提交到遠程服務器

  1. 通過git branch -r來查看遠程服務器有多少分支
  2. 首先在本地切換到新建的分支中,然后通過 git push origin 分支名稱 指令提交新建的分支到遠程的服務器偶翅。

五默勾、如何合并分支

可以通過git merge 分支名稱來合并分支
例如1:
在master分支中執(zhí)行git merge Dev,就代表需要將Dev中的代碼都合并到master中
例如2:
在Dev分支中執(zhí)行git merge master聚谁,就代表需要將master中的代碼都合并到Dev中

六母剥、如何刪除分支

  1. 可以通過git branch -d分支名稱 來刪除本地的分支
  2. 可以通過git push origin --delete分支名稱 來刪除遠程服務器的分支

七、如何拉取指定分支的代碼

git clone -b 分支名稱 git地址

Git忽略提交規(guī)則:

如果不想讓某些文件被git,使用命令touch .gitignore創(chuàng)建.gitignore文件,在里面添加相應的忽略規(guī)則即可环疼。

總結

一般情況下习霹,我們按照如下順序提交代碼:

git add/commit/pull/push

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市炫隶,隨后出現(xiàn)的幾起案子淋叶,更是在濱河造成了極大的恐慌,老刑警劉巖伪阶,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件煞檩,死亡現(xiàn)場離奇詭異,居然都是意外死亡望门,警方通過查閱死者的電腦和手機形娇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筹误,“玉大人,你說我怎么就攤上這事癣缅〕簦” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵友存,是天一觀的道長祷膳。 經(jīng)常有香客問我,道長屡立,這世上最難降的妖魔是什么直晨? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮膨俐,結果婚禮上勇皇,老公的妹妹穿的比我還像新娘。我一直安慰自己焚刺,他們只是感情好敛摘,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著乳愉,像睡著了一般兄淫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蔓姚,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天捕虽,我揣著相機與錄音,去河邊找鬼坡脐。 笑死泄私,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播挖滤,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼崩溪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了斩松?” 一聲冷哼從身側響起伶唯,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惧盹,沒想到半個月后乳幸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡钧椰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年粹断,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫡霞。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡瓶埋,死狀恐怖,靈堂內的尸體忽然破棺而出诊沪,到底是詐尸還是另有隱情养筒,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布端姚,位于F島的核電站晕粪,受9級特大地震影響,放射性物質發(fā)生泄漏渐裸。R本人自食惡果不足惜巫湘,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望昏鹃。 院中可真熱鬧尚氛,春花似錦、人聲如沸盆顾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽您宪。三九已至奈懒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宪巨,已是汗流浹背磷杏。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捏卓,地道東北人极祸。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓慈格,卻偏偏與公主長得像,于是被迫代替她去往敵國和親遥金。 傳聞我的和親對象是個殘疾皇子浴捆,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內容

  • git 使用筆記 git原理: 文件(blob)對象,樹(tree)對象稿械,提交(commit)對象 tree對象 ...
    神刀閱讀 3,760評論 0 10
  • 這篇博文是自己在學習git過程中的思考總結选泻。本文僅僅代表個人的看法,如有不妥地方還請本文文末留言美莫。 ?? 原文鏈接g...
    Ming_Hu閱讀 1,060評論 4 18
  • Git 是目前最流行的分布式版本控制系統(tǒng)之一页眯。 版本控制指的是,記錄每次版本變更的內容和時間等細節(jié)厢呵,保留各版本之間...
    神齊閱讀 1,409評論 0 7
  • 還是老規(guī)矩窝撵,這篇看完后,還是學不會git版本控制的襟铭,你來砍我 是兄弟就來砍我吧B捣睢!寒砖! Git是分布式版本控制系統(tǒng)道批,...
    Zteen閱讀 3,149評論 0 6
  • 這張牡丹圖嚴格來說是我第一張水彩畫,沒有多精致入撒,遠看還是可以的! 希望能有人喜歡^_^
    彼蒲竹閱讀 314評論 0 5