二十分鐘拿Git幹活

一、爲什麼使用git?
1、非常有利於自己知識和經驗的積累
2、能夠通過git展示工作經驗和分享交流自己的項目
3、能夠通過git管理團隊和項目
二十分鐘拿Git幹活
二、爲什麼選git?
1、好用
2、無縫的提交到github等平臺

三、git和github的關係?
git是一個版本控制工具
github是一個用git做版本控制的項目託管平臺。
二十分鐘拿Git幹活
四、git 幾個重要的概念
這裏類比一下
倉庫(書店):所有版本的代碼都在倉庫(所有版本的《×××》都在書店裏)
分支(書架):不同功能功能的代碼存放的地方(我把《×××》插圖版和古裝版放在不同的書架,這樣可以互不干擾)
提交(書):每一個版本的代碼 (《×××》插圖版 第一版印刷,第二版印刷……)
二十分鐘拿Git幹活
五、核心重點基礎內容怎麼玩
官網: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裏面去。這個就是分支的功能。
我先複製一份原來的東西,開一個新的分支
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幹活
七、說下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
二十分鐘拿Git幹活
八、後續學習
上面這些適合個人開發者,如果你是一個部門主管,那麼你就要會搭建內網git服務器,因爲公司項目有保密性要求,是不可能讓你隨便往git上傳的。
如果團隊很小,你自己搭建就ok了進行權限管理,如果公司已經有一定規模比如100人團隊,就需要有linux程序員進行嚴格的權限管理了,尤其對源代碼有很高保密性要求的公司,甚至員工的修改和操作都會有記錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章