git入門,先學會這幾個姿勢!

來源:互聯網
上載者:User
git是什麼? 好吃麼。

在《手把手從零打造企業級電商平台-前端實戰》課程裡用到了git,很多還沒參加過公司項目開發的同學就會很疑惑,git是什麼。git好吃麼。這貨是不是我們鬥圖的圖片。哦。不對。那是gif。那TM git到底是什麼?!

我們可以把git理解成我們管理代碼的工具,把代碼找個遠程伺服器備份一下,當我們電腦死翹翹的時候,就不用害怕代碼丟了。當然把git理解成代碼備份工具是委屈它了,git更厲害的功能是版本管理,他可以把每個版本都存起來,這樣就能方便找到各個曆史版本。再加上它對版本的一些設計,比如分支開發,分支合并和分支復原等操作,能方便的讓多人蔘與同一個項目的開發,更符合現在團隊作戰的開發方式。

git從表面看起來並不是一個很難用的東西,但要知道git的設計和原理還是有不少內容的,出本書的話怎麼也能講上幾百頁吧。但是我們如果單純的把git當工具來使用的話,並不是很難入門。我們這篇文章的目的也是讓大家儘快瞭解git,早點上手,而原理性的東西用熟了以後再看會更容易理解。我們下來找幾個最常遇到的情境來說一下git的用法。 情境1:我要開始一個新項目,想用git管理代碼

這裡以git.oschina.net為例(oschina可以免費建立私人項目,github建立私人得花錢)。

第一步,我們需要先註冊個git帳號,這裡就不說了。這個oschina提供的git服務其實就是給我們一個空間,我們的代碼可以傳上去由oschina保管。

第二步,建立項目,填上項目名稱,git地址等資訊以後,就可以建立一個項目了。

第三步,填加ssh的key,添加key的作用是允許你的電腦訪問git倉庫。如果git項目是私人的,那麼就要指定誰可以訪問誰不能訪問。我們把自己電腦上的ssh key添加到git項目上,就表示我們電腦裡的key能訪問了,可以理解成key的白名單。配置方法如下:

# 郵箱地址填註冊git時用的郵箱,然後按3個斷行符號。ssh-keygen -t rsa -C "xxx@happymmall.com"# 在git.oschina的項目裡添加公開金鑰,查看公開金鑰內容:cat ~/.ssh/id_rsa.pub

第四步,配置本地的git選項,可以在使用者目錄下,使用者目錄下,使用者目錄下。建立一個.gitconfig檔案,把下面的內容放裡面。其中的name是在提交代碼時使用的名稱,可以隨意指定,還有一個是email,這個email一定要和註冊git時使用同一個。

[user]    name = Rosen    email = xxx@happymmall.com[alias]               co=checkout               ci=commit               st=status               pl=pull               ps=push               dt=difftool               l=log—stat               cp=cherry-pick               ca=commit -am               b=branch[push]    default = simple

這個設定檔中的alias是一些命令的快速鍵,比如切換分支是git checkout xxx,如果配置了alias,就可以直接輸入git co xxx,這兩個命令是等價的。
push一項配置成simple,表示是在push的時候只把當前分支推送到遠程對應的分支上。這個也可以不配置,因為git2.x版本以後,預設的就是simple模式。

第五步,從遠程拉下代碼,這git項目就算建好了。

# 使用項目的ssh形式的地址git clone xxx
情境2:我要開始開發了,要怎麼玩。

進入開發前,要先瞭解git的分支使用規範。當我們項目clone下來以後,預設會處在master分支上,也就是git的預設分支。通常我們是不在這個分支上做開發的,如果更規範一點,master分支會對開發人員設定成唯讀,最終由上線人員把要上線的代碼合并到master分支上。這時候我們就要做一個自己的開發分支。執行如下:

# 切換到master分支git checkout master# 拉取最新代碼git pull# 以master分支為基礎,建立本地分支,新分支名以mmall_v1.0為例git checkout -b mmall_v1.0  # 在遠程建立對應的分支,只有建立分支時需要執行這步,以後只需要git pushgit push --set-upstream origin mmall_v1.0

然後就可以在新分支上開始寫代碼。 情境3:我要在一個已有的分支上開發點東西

因為是已有分支,就不用自己建立了,直接切換到指定分支,這裡還是以mmall_v1.0為例。

# 切換分支git checkout mmall_v1.0# 拉取當前分支最新代碼git pull

然後還是一樣的,就可以進入開發了。 情境4:開發到一定程度,想看看改動了什麼內容

# 看檔案的改動git status# 看檔案內容的變動git diff
情境5:代碼開發完成了,想提交代碼
# 首先是追蹤變更的檔案git add .# 然後提交到本地git commit -am '我是提交的說明'# 提交到遠程git push
情境6:當前分支代碼都開發完了,準備提交上線

在上線的時候,一般是由管理員或發布人員把開發分支的代碼合并到master分支上,上線前我們要先把遠程master最新的代碼合并到我們的分支上再提交,才能保證我們的開發分支版本高於master分支。如果不這麼幹,有多個人開發的話,就有可能造成A發布了一個版本,等B發布的時候會把A發布的內容衝掉。

# 合并遠程分支git merge origin master# 注意:如果發現merge的結果裡有CONFLICT,就表示當前分支和遠程master分支有檔案衝突,我們要手動解決一下衝突再做一次提交才可以。# 沒衝突或解決完衝突後,提交到當前分支的遠程git push

merge完成後,就可以做提交了,通常使用pull request提交合并到master分支的請求,管理員合并後,我們的分支內容就可以上線了。
作者: Rosen_Gao 
連結:http://www.imooc.com/article/19060
來源:慕課網
本文原創發佈於慕課網 ,轉載請註明出處,謝謝合作。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.