一文帶你走進Git的世界

又是小鯊鯊的一篇嘔心瀝血之作,感覺頭上頭髮的重量又減輕了不少

什麼是Git

先上一段官話,對git做一個解釋,儘可能的去體會它,看不懂沒有關係,後面會細講

Git是一個開源的分佈式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理,是目前使用範圍最廣的版本管理工具。

爲什麼使用Git而不是CVS,SVN?

我們的git是一個分佈式的版本控制系統,而cvs和svn是中央式的版本控制系統,
中央式的版本控制系統雖然管理員可以很方便的管理大家的修改, 但是,一旦中央服務器發生宕機,宕機期間就無法進行協作開發,一旦出現故障,那帶來的性質和DBA刪庫跑路是一樣的,公司全員收拾回家就行了。而我們的git就不一樣了,每一個git節點都是一個倉庫,當一個git節點掛掉之後,莫得關係,重新從其他git節點clone一份就行了
並且中央式的每一次提交都需要聯網,速度就會很慢,而我們的git只有在最後一下push的時候,才需要網絡.
所以,這也是爲什麼git大爲流行的原因, 但是不得不說,svn使用更加的簡單,更易上手。

下載它

點擊這裏

Git的作用

  1. 分佈式的版本控制
  2. 方便多個開發人員協調工作
  3. 有效監聽是誰做的修改
  4. 本地及遠程操作

通過看上面的作用,我們可以發現上面的四個問題都是我們協同開發中容易碰到的並且非常麻煩的幾個問題,同時也是主要問題,都在Git中幫我們很好的進行了解決,所以,這也是它如此火的原因。

git init 	// 初始化本地git倉庫
git add<file>  // 添加文件
git status  // 查看狀態
git commit // 提交
git push <遠程主機名> <本地分支名>  <遠程分支名> // 提交到倉庫
git push origin master   如果遠程分支被省略,如上則表示將本地分支推送到與之存在追蹤關係的遠程分支(通常兩者同名),如果該遠程分支不存在,則會被新建
git push origin :master 如果省略本地分支名,則表示刪除指定的遠程分支,因爲這等同於推送一個空的本地分支到遠程分支,等同於 git push origin --
git push origin  如果當前分支與遠程分支存在追蹤關係,則本地分支和遠程分支都可以省略,將當前分支推送到origin主機的對應分支
git push   如果當前分支只有一個遠程分支,那麼主機名都可以省略,形如 git push,可以使用git branch -r ,查看遠程的分支名
delete master

git pull.  // 從遠程倉庫拉取數據
git clone // 從遠程倉庫拷貝數據
git rm --cached index.html. // 將加入到暫存區的文件進行刪除 
git branch log // 創建一個叫log的分支
git checkout log // 將自己切換到log分支下
git merge log.  // 將分支log和master合併
git reset -hard HEAD^.  // 回退到以前的版本
git reset -hard HEAD^^  // 回退到前兩個版本
git remote // 查看遠程倉庫

平時,我們肯定有一些不想上傳的文件,如何忽略一下不想上傳的文件
我們在我們的倉庫文件夾下面創建一個.gitignore文件,將想要忽略的文件路徑寫入該文件中.

訪問github慢怎麼辦?

在這裏插入圖片描述
我們ping一下,就會發現恐怖的400ms,不過你們比較幸運,遇到了我
下面,告訴你們一個優化速度的小妙招

  1. windows下 :
    找到域名映射文件 C:\Windows\System32\drivers\etc (記得好像是這個路徑,如果沒有的話,百度一下, 哈哈)
    mac 的話去 /usr/etc/下就可以找到 sudo vim hosts 進行打開

  2. 下面用大家的ctrl+C大法和ctrl+v大法,將下面內容加上去

151.101.44.249 github.global.ssl.fastly.net
192.30.253.113 github.com
103.245.222.133 assets-cdn.github.com
23.235.47.133 assets-cdn.github.com
203.208.39.104 assets-cdn.github.com
204.232.175.78 documentcloud.github.com
204.232.175.94 gist.github.com
107.21.116.220 help.github.com
207.97.227.252 nodeload.github.com
199.27.76.130 raw.github.com
107.22.3.110 status.github.com
204.232.175.78 training.github.com
207.97.227.243 www.github.com
185.31.16.184 github.global.ssl.fastly.net
185.31.18.133 avatars0.githubusercontent.com
185.31.19.133 avatars1.githubusercontent.com
192.30.253.120 codeload.github.com

  1. 最後要記得刷新一下dns緩存 :
    win : 打開cmd命令行, 把這個輸入進去 ipconfig /flushdns
    mac : 打開終端 , sudo killall -HUP mDNSResponder

然後你就會驚奇的發現,訪問速度快了不少

一步一步使用git

首先,我在我的倉庫中創建了一個名字叫做shop的庫來當作網上購物超市的代碼倉庫
[email protected]:Boolmans/shop.git
我下面會給大家演示一下如何一步步操作它(大家一邊看我這裏的操作,一邊看上面我發的代碼,效果會更好一點)

  1. 首先,我在github上新建的這個倉庫是空的
    我需要現在我本地初始化一個倉庫,然後更新上去, 先創建一個文件夾,取名叫做demo, 打開命令行,使用cd命令切換目錄到demo下

  2. 進行倉庫初始化

	git init

在這裏插入圖片描述
初始化完成後,我們會發現目錄下多了一個.git文件
3. 進行修改, 這裏,我將我們的網上超市系統的首頁對應的html文件放進了我們這個倉庫中,爲什麼不將全部代碼一次性放進去呢?因爲如果一次性放入大量文件的話,需要等待一段時間,這裏主要是帶着大家學習使用這個git,所以就先放一個首頁的html文件, 意思就是起到一個修改的作用
在這裏插入圖片描述
隨後我們使用 git status 命令查看一下,會發現有待添加文件(紅色的),
忽略那個.DS_Store文件,
.DS_Store(英文全稱 Desktop Services Store)是一種由蘋果公司的Mac OS X操作系統所創造的隱藏文件,目的在於存貯目錄的自定義屬性,例如文件們的圖標位置或者是背景色的選擇。相當於 Windows 下的 desktop.ini。
(總之就是mac自動生成的,屁用沒有), 我們繼續
4. 添加到暫存區 git add .(. 代表着所有文件) 再調用git status命令, 就會發現剛纔的待添加文件成爲了待提交文件(上圖中綠色的部分)
5. 提交修改(注意,這裏是向本地倉庫提交修改,可別以爲是往我們的github上的倉庫提交修改) git commit -m “這是四個計算機大佬的第一次提交”
6. 本地倉庫更新完畢了,接下來就是向遠程倉庫的同步
在這裏插入圖片描述
我先使用了git remote命令與遠程倉庫建立了鏈接
然後使用git push 命令將修改推送到了遠程倉庫,這個時候,我們到我的github這個shop倉庫去看一下在這裏插入圖片描述
是不是非常的斯高因呢?

修改別人的倉庫

那麼如何在我的現在的這個上面進行修改呢?
也是很簡單的,
在這裏插入圖片描述
這個就是我們克隆的關鍵, 現在我們的本地隨便新建一個文件夾(任何羞羞的名字都無所謂,別人看不見,嘿嘿),使用git clone [email protected]:Boolmans/shop.git命令就可以克隆到我們本地
爲什麼使用SSH而不使用HTTPS呢? 關注我,過幾天就更新, 嘿嘿
然後就是老套路
先修改 , 再git add, 如果是多人同時開發維護代碼,得先git pull ,拉取當前分支最新代碼, 然後再git commit就可以了
別忘了,這只是本地倉庫完事兒了,最後需要git push完成向github的更新

大家不要認爲git是一個很難的東西,他只是一個便於我們開發的工具,身爲工具,就是很容易就會上手的, 加油,奧利給!!!

關注我,教你更多編程小姿勢

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