三十分鐘拿Git幹活

前端大彬哥發表於2018-06-04

三十分鐘拿Git幹活

1.為什麼使用git?

​ a) 非常有利於自己知識和經驗的積累

​ b)能夠通過git展示工作經驗和分享交流自己的專案

​ c)能夠通過git管理團隊和專案

2.為什麼選git?

​ a)好用

​ b)無縫的提交到github等平臺

3.git和github的關係?

​ git是一個版本控制工具
​ github是一個用git做版本控制的專案託管平臺。

4.git 幾個重要的概念

​ 這裡類比一下

​ 倉庫(書店):所有版本的程式碼都在倉庫(所有版本的《金瓶梅》都在書店裡)

​ 分支(書架):不同功能功能的程式碼存放的地方(我把《金品梅》插圖版和古裝版放在不同的書架,這樣可以互不干擾)

​ 提交(書):每一個版本的程式碼 (《金瓶梅》插圖版 第一版印刷,第二版印刷……)

5.核心重點基礎內容怎麼玩

​ 官網:https://git-scm.com/ git是可以裝在自己電腦或者伺服器的,不墨跡開整

​ 1.新建一個資料夾helloGit,進入

​ 2.右鍵gitBash,建立倉庫,

git init

​ 3.建立一個a.txt,開啟裡面內容隨便造。

​ 4.輸入

git status

看一下git的狀態,這個命令牛逼之處就是告訴你接下來該怎麼做,人家說了你沒把a.txt交給倉庫去管。

​ 5.將所有檔案加入到快取區(相當於你把檔案交給管理員了),

git add .

​ 6.將檔案 提交到倉庫(管理員把你的檔案扔倉庫裡了),

git commit -m `這裡是寫點註釋,省的你不知道自己提交了啥內容,這是第一次提交`

這樣一次提交就完成了,

​ 7.開啟a.txt 隨便加點內容,繼續造,然後

git add .
git commit -m `第二次提交`

​ 8.我們看看我們提交了幾個版本,

git log  

這裡我們提交的兩次就看到了,而且能看到commit後面的id 。我要想回到第一次提交咋整,

git checkout c0f259e284a27c1871562631bd9753d46f5798bb

開啟a.txt 看看,回到第一個版本了。到現在你已經會了,提交多個版本,回滾到某個版本。我想回到上一個版本老找id忒費事,可以用這個

git checkout -- .

6.說點進階的玩法-分支

​ 大家考慮這麼一個情況,假如你是angularjs開發團隊,你想angular2.0基於angularjs開發,但是有特別大的革命性變化,你說咋辦好?

​ 這時候你看這樣合不合理,我分一部分人負責原angularjs的基礎維護和平滑升級,然後複製一份angularjs讓另外一個團隊進行革命性開發,這樣兩個團隊都不互相干擾,等2.0的功能開發完成了,我再融合到原來的angularjs裡面去。這個就是分支的功能。

​ 1.我先複製一份原來的東西,開一個新的分支

git checkout -b new-fenzhi

​ 我們看看現在有幾個分支,

git branch    

大家可以看到這裡有兩個分支,一個master,一個new-fenzhi,

新建b.txt的內容,然後

git add .
git commit -m `我在新分支上糟蹋的`

注意,這時候我們刪除b,我們回到master分支,看看它影響master不,

git checkout master
git log

大家可以看到 根本就沒有影響master,master下是沒有b.txt 我們假設搞完了,把git new-fenzhi的東西合併回master咋整,

git merge new-fenzhi

這樣就合併回去了。

7.說下git和github一起玩。

​ 1.最簡單把github專案搞下來

git clone  xxxxx.git

​ 2.提交到github,第一次這麼做

git remote add origin https://github.com/breaddream/helloGit.git
git push -u origin master

這裡注意,如果提示orgin 已經存在,就先把遠端的倉庫刪除再執行,

git remote rm origin

第二次以後這麼做,

git push

8.後續學習

​ 上面這些適合個人開發者,如果你是一個部門主管,那麼你就要會搭建內網git伺服器,因為公司專案有保密性要求,是不可能讓你隨便往git上傳的。如果團隊很小,你自己搭建就ok了進行許可權管理,如果公司已經有一定規模比如100人團隊,就需要有linux程式設計師進行嚴格的許可權管理了,尤其對原始碼有很高保密性要求的公司,甚至員工的修改和操作都會有記錄。有興趣的同學可以試著搭建一個git伺服器供團隊使用。

相關文章