a) 很是有利於本身知識和經驗的積累linux
b)可以經過git展現工做經驗和分享交流本身的項目git
c)可以經過git管理團隊和項目程序員
a)好用angularjs
b)無縫的提交到github等平臺github
git是一個版本控制工具
github是一個用git作版本控制的項目託管平臺。緩存
這裏類比一下服務器
倉庫(書店):全部版本的代碼都在倉庫(全部版本的《金瓶梅》都在書店裏)angular2
分支(書架):不一樣功能功能的代碼存放的地方(我把《金品梅》插圖版和古裝版放在不一樣的書架,這樣能夠互不干擾)工具
提交(書):每個版本的代碼 (《金瓶梅》插圖版 初版印刷,第二版印刷……)學習
官網: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 -- .
你們考慮這麼一個狀況,假如你是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
這樣就合併回去了。
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
上面這些適合我的開發者,若是你是一個部門主管,那麼你就要會搭建內網git服務器,由於公司項目有保密性要求,是不可能讓你隨便往git上傳的。若是團隊很小,你本身搭建就ok了進行權限管理,若是公司已經有必定規模好比100人團隊,就須要有linux程序員進行嚴格的權限管理了,尤爲對源代碼有很高保密性要求的公司,甚至員工的修改和操做都會有記錄。有興趣的同窗能夠試着搭建一個git服務器供團隊使用。