版本控制之git學習

  最近學習了一下版本控制中比較符合開發者氣質的Git,這裏作一個總結。一來梳理所學的內容;二來也做爲起點後續繼續豐富。學習的方式主要爲網絡學習和我的實踐。推薦兩個學習網頁,互相參考必有所成。html

  博客園:http://www.cnblogs.com/best/archive/2017/09/07/7474442.htmlgit

  廖雪峯:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000github

  ------------------------------------------------------------------------------------------------------------windows

  一、工具準備bash

    a、下載Windows GUI:https://git-scm.com/ 【安裝完成後,鼠標右鍵中將會出現git bash here和git gui here;這裏咱們主要用git bash here,這裏相似於Linux命令,git + cmd】網絡

    b、在github上註冊一個帳號:https://github.com工具

    b、小烏龜(工做中可能要):https://download.tortoisegit.org/tgit/2.5.0.0/學習

    d、smart git工具,windows模式助你完成命令難處理之處fetch

  二、實踐準備
ui

    a、桌面上新建一個文件夾(項目:test),選中文件夾右擊後,選擇git bash here .

    b、爲test建立git版本管理,執行: git init【你會在test文件夾下,看到隱藏文件夾.git,裏面有HEAD/refs等。這就是用來進行版本控制的東西】

  三、基本知識

    a、Git含遠程(github)在內,能夠分爲4個區。I(工做區-WorkSpace,即爲test除了.git文件以外的部分)、II(暫存區-Stage/Index,即爲.git中的Index部分)、III(本地版本區-Local Resopsity)、IV(遠程版本區-github上)

    b、我的在工做區進行寫代碼和文檔,完成後提交到暫存區,在提交到本地版本區,無誤後再提交到遠程端。因爲項目自己多是多人協做,你們均可以從遠程端clone項目文檔到本地開發。Git提供了不錯的分支、標籤和版本切換。基本全部過程可追溯、可逆。

    c、git中的文件類型:Untracted(項目新文件)、Unmodified(項目原始文件)、Modified(項目被修改文件)、Staged(暫存區中文件)。查看文件狀態:git status [filename],系統會告訴你可能用到的一些腳本提示。

  四、經常使用命令

    git status:查看文件狀態

    git add . 將當前目錄下文件添加到stage中

    git commit -m "mesage"  提交到本地庫,註釋信息:message

    git checkout -b bname  切換分支,若是不存在則新建

    git log --pretty=oneline 查看本地日誌歷史,當前所在會有Head指向

    git merge master 在本地分支合併master代碼

  五、場景1(團隊協做)

    a.git clone ** //克隆代碼待本地

    b.git checkout -b *** //新建分支

    c.develop or modify

    d.git add . //加入到stage中

    e.git commit -m "message" //提交到本地庫

    f.review代碼

    g.git checkout  master 切換到主分支

    h.git pull  更新代碼

    i.git checkout ***切換分支

    j.git merge master //把master分支內容合併到當前分支中。

    k.git push origin ***  推送到遠程庫

  6.場景2(修復bug)

    a.git add .

    b.git stash  //放入臨時中

    c.git checkout bugBranch 

    d.git pull --rebase origin master

    e.fix bug

    f.git add.

    g.git commit -m "message"

    h.git push

    i.git checkout ***

    j.git stash pop //切換回工做分支,並回復臨時保存的工做場景

  7. 場景3 (分支管理:把本地的替換成遠程的)

 

git fetch --all
git reset --hard origin/master (這裏master要修改成對應的分支名)
git pull
相關文章
相關標籤/搜索