二十分鐘拿Git幹活

1、爲何使用git?
一、很是有利於本身知識和經驗的積累
二、可以經過git展現工做經驗和分享交流本身的項目
三、可以經過git管理團隊和項目
二十分鐘拿Git幹活
2、爲何選git?
一、好用
二、無縫的提交到github等平臺linux

3、git和github的關係?
git是一個版本控制工具
github是一個用git作版本控制的項目託管平臺。
二十分鐘拿Git幹活
4、git 幾個重要的概念
這裏類比一下
倉庫(書店):全部版本的代碼都在倉庫(全部版本的《×××》都在書店裏)
分支(書架):不一樣功能功能的代碼存放的地方(我把《×××》插圖版和古裝版放在不一樣的書架,這樣能夠互不干擾)
提交(書):每個版本的代碼 (《×××》插圖版 初版印刷,第二版印刷……)
二十分鐘拿Git幹活
5、核心重點基礎內容怎麼玩
官網:https://git-scm.com/ git是能夠裝在本身電腦或者服務器的:git

一、新建一個文件夾helloGit,進入
二、右鍵gitBash,建立倉庫,
git init
三、建立一個a.txt,打開裏面內容隨便造。
四、輸入
git status
看一下git的狀態,這個命令牛掰之處就是告訴你接下來該怎麼作,人家說了你沒把a.txt交給倉庫去管。
五、將全部文件加入到緩存區(至關於你把文件交給管理員了),
git add .
六、將文件 提交到倉庫(管理員把你的文件扔倉庫裏了),
git commit -m '這裏是寫點註釋,省的你不知道本身提交了什麼內容,這是第一次提交'
這樣一次提交就完成了,
七、打開a.txt 隨便加點內容,繼續造,而後
git add .
git commit -m '第二次提交'
八、咱們看看咱們提交了幾個版本,
git log
這裏咱們提交的兩次就看到了,並且能看到commit後面的id 。我要想回到第一次提交怎麼辦?
git checkout c0f259e284a27c1871562631bd9753d46f5798bb
打開a.txt 看看,回到第一個版本了。到如今你已經會了,提交多個版本,回滾到某個版本。我想回到上一個版本老找id忒費事,能夠用這個
git checkout -- .程序員

6、說點進階的玩法-分支
你們考慮這麼一個狀況,假如你是angularjs開發團隊,你想angular2.0基於angularjs開發,可是有特別大的革命性變化,你說怎麼辦好?
這時候你看這樣合不合理,我分一部分人負責原angularjs的基礎維護和平滑升級,而後複製一份angularjs讓另一個團隊進行革命性開發,這樣兩個團隊都不互相干擾,等2.0的功能開發完成了,我再融合到原來的angularjs裏面去。這個就是分支的功能。
我先複製一份原來的東西,開一個新的分支
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
這樣就合併回去了。
二十分鐘拿Git幹活
7、說下git和github一塊兒玩。
一、最簡單把github項目搞下來
git clone xxxxx.git
二、提交到github,第一次這麼作
git remote add origin https://github.com/breaddream/helloGit.git
git push -u origin master
這裏注意,若是提示orgin 已經存在,就先把遠程的倉庫刪除再執行,
git remote rm origin
第二次之後這麼作,
git push
二十分鐘拿Git幹活
8、後續學習
上面這些適合我的開發者,若是你是一個部門主管,那麼你就要會搭建內網git服務器,由於公司項目有保密性要求,是不可能讓你隨便往git上傳的。
若是團隊很小,你本身搭建就ok了進行權限管理,若是公司已經有必定規模好比100人團隊,就須要有linux程序員進行嚴格的權限管理了,尤爲對源代碼有很高保密性要求的公司,甚至員工的修改和操做都會有記錄。angularjs

相關文章
相關標籤/搜索