以前在逛各大設計社區(qū)網站(dribble,Behance之類的)時就覺得有這么一些可以發(fā)布個人作品,交流作品宣旱,然后慢慢提升作品水平的社區(qū)是一件了不起的事情。
到了后來叛薯,對寫代碼這件事產生興趣了浑吟,就在想,開發(fā)者是不是應該也有類似的社區(qū)耗溜。沒錯组力,它就是我們今天的主角Github。
先來說說Github有什么功能:
托管功能:你可以把你在本地寫的代碼傳到Github上抖拴,由Github對你的代碼進行托管燎字,且可供其他GitHub用戶查看腥椒,說白了GitHub就是全世界程序員放代碼的大倉庫;
團隊協作功能:如果你的團隊在進行一個項目候衍,可以把代碼托管到GitHub的倉庫上笼蛛,然后負責各成員根據編寫功能的不同,創(chuàng)建不同分支蛉鹿,各分支之間互不影響滨砍,在最終提交代碼時再把各分支合并在一起提交
社交功能:如果你遇到你喜歡的項目,你可以把它fork(復制)過來妖异,也可以給它個star惋戏,甚至你可以為你自己喜歡但有不足的項目貢獻自己的力量。你還可以在Github上關注其他用戶他膳,當然咯响逢,其他用戶也能關注你。
哪要怎么使用GitHub呢(以下以mac操作系統(tǒng)為例):
首先棕孙,當然是下載咯舔亭。請到? mac.github.com 下載 。 ?
然后下載完散罕,是不是馬上打開那個軟件息堂。當然不是,我們是程序猿嘛捐韩,當然要用一點有逼格的方法啦膏孟。
請打開你的mac的終端,黑底白字炫酷叼咋天有沒有(圖一)误甚。
?然后缚甩,在終端上設置你的名字跟郵箱:
git config --global user.name ?"隨便起個炫酷叼咋天的名字"
git config ?-global ?user.email "這里面是你的郵箱"
?好了,現在git就知道你是誰了窑邦。
?接著擅威,你要創(chuàng)建一個能夠放代碼的地方,我們管它叫倉庫(repository)
mkdir ?newResp ? ? ? ? ? ? ? ? ? ? ? ? //創(chuàng)建一個新的目錄叫newResp
cd newResp/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//進入這個目錄
git init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//把這個目錄初始化為一個git的倉庫 ??
再接著冈钦,我們就要創(chuàng)建一個文件郊丛,然后把它提交到git
隨便在newRes文件夾下創(chuàng)建一個文件,此處創(chuàng)建文件為github.txt
git add github.txt ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //添加你要提交或修改的文件
git commit -m "你所提交的文件的相關信息" ? ? ? ? ? ? ?//提交文件
就這樣瞧筛,就完成了把文件提交的操作厉熟,不明覺厲有沒有。但注意较幌,這里說的是提交到git(目前揍瑟,代碼還只是存在于電腦本地),并非前面提到到提交到github乍炉,所以我們需要創(chuàng)建于github的聯系绢片。
你要去銀行存錢滤馍,那你也得知道存入這個銀行的什么賬號對吧。所以這個時候git需要知道github的賬號底循。如果沒有github的賬號巢株,可以去?github.com?免費注冊一個賬號,然后回到終端此叠,進行以下操作建立聯系纯续。
git config --global user.username ? 你的github賬號(此處不用加雙引號) ? ? ? //讓git知道你的github賬號是什么
然后你需要登錄你的github賬戶,登錄進去后你會看到菜單欄右上角有個加號灭袁,點擊創(chuàng)建新的倉庫猬错,倉庫名盡量跟你本地的倉庫名一致,然后勾選上public茸歧,即可點擊Create Respository(如圖二)倦炒。接著出現圖三界面,請把第二行的url復制起來软瞎。
回到終端逢唤,輸入
git remote add? origin? <urlfromgithub>? ? ? //origin是github上對該倉庫的標示符,<urlfromgithub>是剛才復制的url涤浇。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 標示符跟url的關系相當于聯系人和與其對應的電話號碼那樣,origin可以按照自己的意思隨意更改
git push origin master ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//把之前在本地的commit過的文件提交到github的該倉庫下鳖藕,分支為master
這樣就完成了向github提交代碼的全過程。
但一般來說只锭,我們用github也不全只提交自己的代碼著恩。有不少時候是提交團隊的代碼,或者fork別人的代碼來修改蜻展。
在團隊協助中喉誊,可能有不同的成員負責不同的功能,為了隔離開不同的進度纵顾,并保護主要分支在最終提交前不被修改伍茄,我們會用到branch(分支)這一功能。我們可以創(chuàng)建不同的branch施逾,并把自己修改完的代碼提交到不同的branch敷矫,到最后確定無誤后才合并到主要分支(master).
在終端,輸入:
git branch <branchname > ? ? ?//創(chuàng)建新的branch
git checkout ?<branchname> ?//切好到名字為branchname的branch
git branch ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//可以查看當前的branch有多少個汉额,當前用的branch是哪個
git push origin <branchname> ? //把修改的文件push到origin 這個倉庫的 名為branchname的branch 沪饺,而其他branch不受影響
在所有代碼完成修改確認無誤后,我們便可以把一些分支合并到主要分支中(master),并刪除這些分支闷愤。
在終端中,輸入:
git checkout master ? ? ? ? ? ? ? //回到主要分支
git ?merge <branchname> ? ? //合并你想合并的分支
?git branch -d ?<branchname> ? //合并后刪除多余的分支
git ?push origin --delete <branchname > ?//合并后刪除github多余的分支
如果我們看到一些別人的項目件余,想要收藏它或者自己想改動讥脐,那么我們可以把它fork(復制)到自己github的倉庫遭居。在每個repository詳細頁面里的右上角有一個fork(如圖四)。點擊后fork后該項目就會存儲到你的repository中旬渠。在圖四中你能看到右下角有個url俱萍。復制這個url。
在終端中輸入:
git clone ?url ? ? ? ? ? ? ?//url為剛復制的url 告丢,執(zhí)行此操作則能在把該項目下載到本地的相關位置