GitHub是基于git實(shí)現(xiàn)的代碼托管。git是目前最好用的版本控制系統(tǒng)了阱扬,非常受歡迎,比之svn更好吉嫩。
GitHub可以免費(fèi)使用价认,并且快速穩(wěn)定。即使是付費(fèi)帳戶自娩,每個(gè)月不超過10美刀的費(fèi)用也非常便宜用踩。
利用GitHub,你可以將項(xiàng)目存檔忙迁,與其他人分享交流脐彩,并讓其他開發(fā)者幫助你一起完成這個(gè)項(xiàng)目。優(yōu)點(diǎn)在于姊扔,他支持多人共同完成一個(gè)項(xiàng)目惠奸,因此你們可以在同一頁面對話交流。
創(chuàng)建自己的項(xiàng)目恰梢,并備份佛南,代碼不需要保存在本地或者服務(wù)器梗掰,GitHub做得非常理想。
學(xué)習(xí)Git也有很多好處嗅回。他被視為一個(gè)預(yù)先維護(hù)過程及穗,你可以按自己的需要恢復(fù)、提交出現(xiàn)問題,或者您需要恢復(fù)任何形式的代碼绵载,可以避免很多麻煩埂陆。Git最好的特性之一是能夠跟蹤錯(cuò)誤,這讓使用Github變得更加簡單娃豹。Bugs可以公開焚虱,你可以通過Github評論,提交錯(cuò)誤懂版。
在GitHub頁面鹃栽,你可以直接開始,而不需要設(shè)置主機(jī)或者DNS躯畴。
對于我來說谍咆,我可以在公司和家編輯同樣的一套代碼了,用U盤或者網(wǎng)盤都好麻煩的說
理論說太多容易忘私股,來實(shí)踐實(shí)踐吧。
大綱:
一恩掷、創(chuàng)建github?repository(倉庫)
一峭状、創(chuàng)建github?repository(倉庫)
1-1 登錄github
github的官方網(wǎng)址:https://github.com ,如果沒有賬號(hào)逼争,趕緊注冊一個(gè)优床。
點(diǎn)擊Sign in進(jìn)入登錄界面,輸入賬號(hào)和密碼登入github誓焦。
1-2 創(chuàng)建repository(倉庫)
為啥要叫repository(倉庫)胆敞?我起初也納悶,叫代碼庫不更簡單明了么杂伟? 但仔細(xì)一琢磨移层,倉庫一般都是放糧食的吧,這是把代碼當(dāng)作飽腹之物赫粥,多有愛观话,瞬間覺得這冰冷冷的代碼充滿了查克拉。
扯遠(yuǎn)了越平,來看怎么創(chuàng)建倉庫频蛔,登錄后可以看到有repository選項(xiàng)卡
如果沒在這個(gè)頁面也沒關(guān)系灵迫,點(diǎn)擊右上角的頭像旁邊的小三角,展開后可以看到Y(jié)our profile晦溪,點(diǎn)擊進(jìn)入后也能看到repository
切換到repository選項(xiàng)卡瀑粥,可以看到很醒目的new按鈕。不用猶豫尼变,點(diǎn)擊它利凑,開始創(chuàng)建自己的糧倉了。
下面是創(chuàng)建倉庫信息嫌术,只有名字是必填項(xiàng)哀澈,現(xiàn)在我創(chuàng)建了一個(gè)倉庫叫:beautifulDay
創(chuàng)建成功后,可以看到自己的倉庫地址度气,如此割按,我的遠(yuǎn)程免費(fèi)的倉庫就創(chuàng)建了。它還介紹了github倉庫的常用指令磷籍。這個(gè)指令需要在本地安裝git客戶端适荣。
git init//把這個(gè)目錄變成Git可以管理的倉庫
git add README.md//文件添加到倉庫
git add .//不但可以跟單一文件,還可以跟通配符院领,更可以跟目錄弛矛。一個(gè)點(diǎn)就把當(dāng)前目錄下所有未追蹤的文件全部add了
git commit -m "first commit"http://把文件提交到倉庫
git remote add origin?git@github.com:wangjiax9/practice.git//關(guān)聯(lián)遠(yuǎn)程倉庫
git push -u origin master//把本地庫的所有內(nèi)容推送到遠(yuǎn)程庫上
Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)比然,git與svn的五個(gè)基本區(qū)別丈氓。它有以下特點(diǎn):
分布式 : Git版本控制系統(tǒng)是一個(gè)分布式的系統(tǒng), 是用來保存工程源代碼歷史狀態(tài)的命令行工具;
保存點(diǎn) : Git的保存點(diǎn)可以追蹤源碼中的文件, 并能得到某一個(gè)時(shí)間點(diǎn)上的整個(gè)工程項(xiàng)目額狀態(tài); 可以在該保存點(diǎn)將多人提交的源碼合并, 也可以會(huì)退到某一個(gè)保存點(diǎn)上;
Git離線操作性 :Git可以離線進(jìn)行代碼提交, 因此它稱得上是完全的分布式處理, Git所有的操作不需要在線進(jìn)行; 這意味著Git的速度要比SVN等工具快得多, 因?yàn)镾VN等工具需要在線時(shí)才能操作, 如果網(wǎng)絡(luò)環(huán)境不好, 提交代碼會(huì)變得非常緩慢;
Git基于快照 : SVN等老式版本控制工具是將提交點(diǎn)保存成補(bǔ)丁文件, Git提交是將提交點(diǎn)指向提交時(shí)的項(xiàng)目快照, 提交的東西包含一些元數(shù)據(jù)(作者, 日期, GPG等);
Git的分支和合并 : 分支模型是Git最顯著的特點(diǎn), 因?yàn)檫@改變了開發(fā)者的開發(fā)模式, SVN等版本控制工具將每個(gè)分支都要放在不同的目錄中, Git可以在同一個(gè)目錄中切換不同的分支;
分支即時(shí)性 : 創(chuàng)建和切換分支幾乎是同時(shí)進(jìn)行的, 用戶可以上傳一部分分支, 另外一部分分支可以隱藏在本地, 不必將所有的分支都上傳到GitHub中去;
分支靈活性 : 用戶可以隨時(shí) 創(chuàng)建 合并 刪除分支, 多人實(shí)現(xiàn)不同的功能, 可以創(chuàng)建多個(gè)分支進(jìn)行開發(fā), 之后進(jìn)行分支合并, 這種方式使開發(fā)變得快速, 簡單, 安全强法。
2-1 下載git客戶端
官方下載地址:http://git-scm.com/download/ ?根據(jù)你自己的系統(tǒng) 下載對應(yīng)版本万俗,沒想到它知道我是Windows ^_^
2-2 安裝客戶端
下載好之后咋們開始安裝吧,歡迎界面饮怯,下一步闰歪。
選擇安裝路徑,千萬別選帶中文的路徑蓖墅,有時(shí)候會(huì)引起不必要的誤會(huì)库倘。
選擇安裝組件,按默認(rèn)的來就好了置媳。
1)圖標(biāo)組件(Addition icons) : 選擇是否創(chuàng)建快速啟動(dòng)欄圖標(biāo) 或者 是否創(chuàng)建桌面快捷方式;
2)桌面瀏覽(Windows Explorer integration) : 瀏覽源碼的方法, 單獨(dú)的上下文瀏覽 只使用bash 或者 只用Git GUI工具; 高級(jí)的上下文瀏覽方法 使用git-cheetah plugin插件;
3)關(guān)聯(lián)配置文件(Associate .git*) : 是否關(guān)聯(lián)git配置文件, 該配置文件主要顯示文本編輯器的樣式;
4)關(guān)聯(lián)shell腳本文件(Associate .sh) : 是否關(guān)聯(lián)Bash命令行執(zhí)行的腳本文件;
5)使用TrueType編碼 : 在命令行中是否使用TruthType編碼, 該編碼是微軟和蘋果公司制定的通用編碼;
設(shè)置開始菜單中快捷方式的目錄名稱于樟,默認(rèn)就好,下一步吧
設(shè)置環(huán)境變量 : 選擇使用什么樣的命令行工具, 一般情況下我們默認(rèn)使用Git Bash即可, 默認(rèn)選擇;
1)Git自帶 : 使用Git自帶的Git Bash命令行工具;
2)系統(tǒng)自帶CMD : 使用Windows系統(tǒng)的命令行工具;
3) 二者都有 : 上面二者同時(shí)配置, 但是注意, 這樣會(huì)將windows中的find.exe 和 sort.exe工具覆蓋, 如果不懂這些盡量不要選擇;
選擇換行格式 拇囊,依然是默認(rèn)就好迂曲。
1)檢查出windows格式轉(zhuǎn)換為unix格式 : 將windows格式的換行轉(zhuǎn)為unix格式的換行在進(jìn)行提交;
2)檢查出原來格式轉(zhuǎn)為unix格式 : 不管什么格式的, 一律轉(zhuǎn)為unix格式的換行在進(jìn)行提交;
3)不進(jìn)行格式轉(zhuǎn)換 : 不進(jìn)行轉(zhuǎn)換, 檢查出什么, 就提交什么;
選擇終端模擬器,依然默認(rèn)就好
1)使用MinTTY寥袭,就是在Windows開了一個(gè)簡單模擬Linux命令環(huán)境的窗口Git Bash
2)使用windows的系統(tǒng)的命令行程序cmd.exe
選擇默認(rèn)就好路捧,不用文件系統(tǒng)緩存
安裝中……
git終于安裝成功咯关霸。
2-3 綁定用戶
打開git-bash.exe,在桌面快捷方式/開始菜單/安裝目錄中
因?yàn)镚it是分布式版本控制系統(tǒng)杰扫,所以需要填寫用戶名和郵箱作為一個(gè)標(biāo)識(shí)队寇,用戶和郵箱為你github注冊的賬號(hào)和郵箱
ps:git config? –global 參數(shù),有了這個(gè)參數(shù)章姓,表示你這臺(tái)機(jī)器上所有的Git倉庫都會(huì)使用這個(gè)配置仇冯,當(dāng)然你也可以對某個(gè)倉庫指定的不同的用戶名和郵箱姥份。
眾所周知ssh key是加密傳輸擦盾。
加密傳輸?shù)乃惴ㄓ泻枚啵琯it使用rsa系忙,rsa要解決的一個(gè)核心問題是诵盼,如何使用一對特定的數(shù)字,使其中一個(gè)數(shù)字可以用來加密银还,而另外一個(gè)數(shù)字可以用來解密风宁。這兩個(gè)數(shù)字就是你在使用git和github的時(shí)候所遇到的public key也就是公鑰以及private key私鑰。
其中蛹疯,公鑰就是那個(gè)用來加密的數(shù)字戒财,這也就是為什么你在本機(jī)生成了公鑰之后,要上傳到github的原因捺弦。從github發(fā)回來的固翰,用那公鑰加密過的數(shù)據(jù),可以用你本地的私鑰來還原羹呵。
如果你的key丟失了,不管是公鑰還是私鑰疗琉,丟失一個(gè)都不能用了冈欢,解決方法也很簡單,重新再生成一次盈简,然后在github.com里再設(shè)置一次就行
3-1 生成ssh key
首先檢查是否已生成密鑰?cd ~/.ssh凑耻,ls如果有3個(gè)文件,則密鑰已經(jīng)生成柠贤,id_rsa.pub就是公鑰
也可以打開我的電腦C:\Users\specter\.ssh 里面找到
如果沒有生成香浩,那么通過$ ssh-keygen -t rsa -C “6215048wjl@163.com”來生成。
1)是路徑確認(rèn)臼勉,直接按回車存默認(rèn)路徑即可
2)直接回車鍵邻吭,這里我們不使用密碼進(jìn)行登錄, 用密碼太麻煩;
3)直接回車鍵
生成成功后,去對應(yīng)目錄C:\Users\specter\.ssh里(specter為電腦用戶名宴霸,每個(gè)人不同)用記事本打開id_rsa.pub囱晴,得到ssh key公鑰
3-2 為github賬號(hào)配置ssh key
切換到github膏蚓,展開個(gè)人頭像的小三角,點(diǎn)擊settings
然后打開SSH keys菜單畸写, 點(diǎn)擊Add SSH key新增密鑰驮瞧,填上標(biāo)題,跟倉庫保持一致吧枯芬,好區(qū)分论笔。
接著將id_rsa.pub文件中key粘貼到此,最后Add key生成密鑰吧千所。
如此狂魔,github賬號(hào)的SSH keys配置完成。
4-1 創(chuàng)建一個(gè)本地項(xiàng)目
我這創(chuàng)建了幾個(gè)空文件夾和一個(gè)文件及一個(gè)項(xiàng)目配置文件毅臊,好多前端項(xiàng)目都這樣搭架構(gòu),我也追隨潮流哈黑界。
4-2 建立本地倉庫
再來復(fù)習(xí)一下創(chuàng)建新倉庫的指令:
git init?//把這個(gè)目錄變成Git可以管理的倉庫
git add README.md?//文件添加到倉庫
git add .?//不但可以跟單一文件管嬉,還可以跟通配符,更可以跟目錄朗鸠。一個(gè)點(diǎn)就把當(dāng)前目錄下所有未追蹤的文件全部add了
git commit -m "first commit"?//把文件提交到倉庫
git remote add origin?git@github.com:wangjiax9/practice.git?//關(guān)聯(lián)遠(yuǎn)程倉庫
git push -u origin master?//把本地庫的所有內(nèi)容推送到遠(yuǎn)程庫上
首先蚯撩,進(jìn)入到beautifulDay項(xiàng)目目錄,還記得創(chuàng)建倉庫成功后的那個(gè)頁面吧烛占,指令都在呢胎挎。
然后執(zhí)行指令:git init
初始化成功后你會(huì)發(fā)現(xiàn)項(xiàng)目里多了一個(gè)隱藏文件夾.git
這個(gè)目錄是Git用來跟蹤管理版本庫的,沒事千萬不要手動(dòng)修改這個(gè)目錄里面的文件忆家,不然改亂了犹菇,就把Git倉庫給破壞了。
接著芽卿,將所有文件添加到倉庫
執(zhí)行指令:git add .
然后揭芍,把文件提交到倉庫,雙引號(hào)內(nèi)是提交注釋卸例。
執(zhí)行指令:git commit -m "提交文件"
如此本地倉庫建立好了称杨。
4-3?關(guān)聯(lián)github倉庫
到github beautifulDay倉庫復(fù)制倉庫地址
然后執(zhí)行指令:git remote add origin git@github.com:wangjiax9/beautifulDay.git
4-4 上傳本地代碼
執(zhí)行指令:git push -u origin master
1)敲一個(gè):yes, 然后回車
到此筷转,本地代碼已經(jīng)推送到github倉庫了姑原,我們現(xiàn)在去githubt倉庫看看。
咦呜舒!奇怪了锭汛,我的目錄呢?這個(gè)坑突然冒出來是不是印象很深刻呢~
注意咯:git是不能管理空的文件夾的,文件夾里必須有文件才能add
好店乐,我們來試一下艰躺,我在examples里新建了一個(gè)test1.html文件
執(zhí)行指令添加文件->提交文件->推送文件
git add .
git commit -m "提交test1.html"
git push -u origin master
然后刷新一個(gè)github,你會(huì)看到眨八,examples文件夾出來了腺兴。
打開examples文件夾,test1.html也在里面廉侧。
總結(jié):
現(xiàn)在通過博客來將github入門梳理了一遍页响,印象好深刻,應(yīng)該不會(huì)變成零碎了段誊。如果大家想要知道更多的git操作和知識(shí)闰蚕,推薦去看看繆雪峰的git教程,講得很詳細(xì)连舍。
祝大家猴年長得猴美猴美的没陡,掙得猴多猴多的,心情猴好猴好的索赏,運(yùn)氣猴順猴順的盼玄,睡覺猴香猴香的,愛情猴甜猴甜的潜腻,總之埃儿,一切都猴蜜猴蜜的!