github新手入門

【初識Github】

Git是一個分布式的版本控制系統(tǒng)挺物,最初由Linus Torvalds編寫涧黄,用作Linux內(nèi)核代碼的管理。在推出后壳坪,Git在其它項目中也取得了很大成功,尤其是在Ruby社區(qū)中掰烟。目前弥虐,包括Rubinius和Merb在內(nèi)的很多知名項目都使用了Git。Git同樣可以被諸如Capistrano和Vlad the Deployer這樣的部署工具所使用媚赖。同樣,eoe.cn客戶端的源碼也托管在github上珠插。

GitHub可以托管各種git庫惧磺,并提供一個web界面,但與其它像 SourceForge或Google Code這樣的服務(wù)不同捻撑,GitHub的獨特賣點在于從另外一個項目進行分支的簡易性磨隘。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕缤底,然后將代碼檢出并將修改加入到剛才分出的代碼庫中,最后通過內(nèi)建的“pull request”機制向項目負責(zé)人申請代碼合并番捂。已經(jīng)有人將GitHub稱為代碼玩家的MySpace个唧。

在GitHub進行分支就像在Myspace(或Facebook…)進行交友一樣,在社會關(guān)系圖的節(jié)點中不斷的連線设预。

GitHub 使用 git 分布式版本控制系統(tǒng)徙歼,而 git 最初是 Linus Torvalds 為幫助Linux開發(fā)而創(chuàng)造的,它針對的是 Linux 平臺鳖枕,因此 git 和 Windows 從來不是最好的朋友魄梯,因為它一點也不像 Windows。GitHub 發(fā)布了GitHub for Windows宾符,為 Windows 平臺開發(fā)者提供了一個易于使用的 Git 圖形客戶端酿秸。

GitHub For Windows
GitHub for Windows 是一個 Metro 風(fēng)格應(yīng)用程序,集成了自包含版本的 Git魏烫,bash 命令行 shell辣苏,PowerShell 的 posh-git 擴展。GitHub 為 Windows 用戶提供了一個基本的圖形前端去處理大部分常用版本控制任務(wù)哄褒,可以創(chuàng)建版本庫稀蟋,向本地版本庫遞交補丁,在本地和遠程版本庫之間同步读处。微軟也通過CodePlex向開發(fā)者提供 git 版本控制系統(tǒng)糊治,而 GitHub 創(chuàng)造了一個更具有吸引力的 Windows 版本。

GitHub上已自動配置的Mac筆記本電腦罚舱,一個工具井辜,可以轉(zhuǎn)換設(shè)置Linux或Windows機器。

BOXEN是GitHub的自動化工具管闷,設(shè)置和配置的Mac筆記本電腦軟件開發(fā)[3]或其他類型的工作粥脚,正在使用他們的開發(fā)人員,律師包个,設(shè)計師刷允,付貨人,等碧囊。我們的想法是準備系統(tǒng)以自動方式和作為無差錯盡可能用最少的干預(yù)工作树灶。根據(jù)GitHub上,與一個新的開發(fā)機器上糯而,他的Mac系統(tǒng)成立天通,并準備在30分鐘內(nèi)提交代碼。

BOXEN的基礎(chǔ)上收集了大量的幾十個木偶模塊熄驼,使設(shè)置的各種軟件像寒,如卡桑德拉烘豹,MongoDB中,Java軟件中诺祸,Python和Ruby開發(fā)中携悯,節(jié)點,JS筷笨,nginx的憔鬼,Skype公司,甚至MINECRAFT奥秆。雖然機器上配備了一個預(yù)配置逊彭,每個用戶都可以調(diào)整它的配置應(yīng)有的作用。

【如何使用】

1.注冊賬戶以及創(chuàng)建倉庫

要想使用github第一步當然是注冊github賬號了构订。之后就可以創(chuàng)建倉庫了(免費用戶只能建公共倉庫)侮叮,Create a New Repository,填好名稱后Create悼瘾,之后會出現(xiàn)一些倉庫的配置信息囊榜,這也是一個git的簡單教程。

2.安裝客戶端msysgit

github是服務(wù)端亥宿,要想在自己電腦上使用git我們還需要一個git客戶端卸勺,我這里選用msysgit,這個只是提供了git的核心功能烫扼,而且是基于命令行的曙求。如果想要圖形界面的話只要在msysgit的基礎(chǔ)上安裝TortoiseGit即可。

裝完msysgit后右鍵鼠標會多出一些選項來映企,在本地倉庫里右鍵選擇Git Init Here悟狱,會多出來一個.git文件夾,這就表示本地git創(chuàng)建成功堰氓。右鍵Git Bash進入git命令行挤渐,為了把本地的倉庫傳到github,還需要配置ssh key双絮。

3.配置Git

首先在本地創(chuàng)建ssh key浴麻;

ssh-keygen -t rsa -C "your_email@youremail.com"  

后面的your_email@youremail.com改為你的郵箱,之后會要求確認路徑和輸入密碼囤攀,我們這使用默認的一路回車就行软免。成功的話會在~/下生成.ssh文件夾,進去焚挠,打開id_rsa.pub或杠,復(fù)制里面的key。
回到github,進入Account Settings向抢,左邊選擇SSH Keys,Add SSH Key,title隨便填胚委,粘貼key挟鸠。為了驗證是否成功,在Git bash下輸入:

$ ssh -T git@github.com  

如果是第一次的會提示是否continue亩冬,輸入yes就會看到:You’ve successfully authenticated, but GitHub does not provide shell access 艘希。這就表示已成功連上github。
接下來我們要做的就是把本地倉庫傳到github上去硅急,在此之前還需要設(shè)置username和email覆享,因為github每次commit都會記錄他們。

$ git config --global user.name "your name"  
$ git config --global user.email "your_email@youremail.com" 

新建本地倉庫:
在想要存放倉庫的根目錄下創(chuàng)建本地倉庫:

git init [倉庫的名字]

或者:
新建一個存放.git(倉庫)的文件如(github目錄下面的firstday目錄):

git init //就會在firstday目錄下生成.git倉庫文件

進入要上傳的倉庫(firstday文件)营袜,右鍵git bash撒顿,添加遠程地址:

$ git remote add origin git@github.com:yourName/yourRepo.git  

后面的yourName和yourRepo表示你在github的用戶名 和 剛才新建的倉庫,加完之后進入.git荚板,打開config凤壁,這里會多出一個remote “origin”內(nèi)容,這就是剛才添加的遠程地址跪另,也可以直接修改config來配置遠程地址拧抖。
-----------------以上就是在git上配置本地倉庫的全部步驟-----------------

4.提交、上傳

接下來在本地倉庫里(firstday目錄下)添加一些文件免绿,比如README文件唧席,在原來的firstday目錄下Git Bash Here:

$ git touch README
$ git add README 
$ git commit -m "first commit"  

上傳到github:

$ git push -u origin master  (這里可能會有報錯:請查看git的報錯以及解決方法)
如果這里報錯:

ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
說明你的github上找不到helloworld的同名倉庫,需創(chuàng)建一個線上的倉庫(上面有教程)
切記:如果我們在創(chuàng)建遠程倉庫的時候添加了README和.ignore等文件(默認在github上創(chuàng)建時自動幫我們創(chuàng)建這兩個文件),我們在后面關(guān)聯(lián)倉庫后,(上傳push前)需要先執(zhí)行pull操作:
關(guān)聯(lián)倉庫命令:$ git remote add origin git@github.com:yourName/yourRepo.git

pull命令:$ git pull -u origin master

再接著上面的操作:

$ git push -u origin master
(這時刷新你的github的helloworld倉庫就會看到我們剛剛添加的README文件和 first commit的提交說明了)
git push命令會將本地倉庫推送到遠程服務(wù)器嘲驾。
git pull命令則相反淌哟。

-----------------以上就是Git本地倉庫與Github遠程倉庫關(guān)聯(lián)的全部步驟-----------------

tips:

當本地倉庫的文件和線上文件都有修改的時候很容易起代碼沖突,問題來了距淫,就是要決解沖突绞绒,我在這里就簡單的提一下:

在我們在README文件中添加一句話"這是我的本地README文件”保存,

$git add README (添加到暫存區(qū))
$ git commit -m '添加了 這是我的本地README文件 這句話'

如果下面直接執(zhí)行$ git push origin master (在沒有修改遠程github上的同名文件時是可提交的榕暇,但如果也有修改就要執(zhí)行下面pull操作再合并本地的代碼蓬衡,否則就會報代碼沖突)
假設(shè)在github中的README文件中添加了一句話“這是我的github的README文件”保存,

首先我們先pull修改后git遠程文件:

$git pull origin master

這時候在打開本地的README文件應(yīng)該有我們線上和線下修改后的代碼彤枢,取舍其中需要的代碼如把它們合并為“這是我的github的README文件,這是我的本地README文件”狰晚,并保存。

$git add README (重新添加到暫存區(qū))
$ git commit -m '添加了 這是我的本地README文件' (重新提交)

最后push到遠程倉庫上

$ git push origin master

這時候刷新github頁面就能看到我們合并后的README文件了缴啡。
(修改完代碼后壁晒,使用git status可以查看文件的差別,使用git add 添加要commit的文件业栅,也可以用git add -i來智能添加文件秒咐。)

花了2個晚上學(xué)習(xí)git,感謝這幾位的博主的文章讓我受益良多谬晕!
常用的git命令傳送門:http://www.songyawei.cn/?s=git
學(xué)習(xí)git圖文教程:http://www.reibang.com/p/dcbb8baa6e36
github入門:http://blog.csdn.net/hcbbt/article/details/11651229
代碼沖突:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840202368c74be33fbd884e71b570f2cc3c0d1dcf000

git我還是新手,根據(jù)自己學(xué)習(xí)過程中遇到的問題和大家分享携取,避免走這些彎路攒钳,如果文章有什么問題還望您指出,我會虛心求教的(●'?'●)雷滋。希望我們共同進步不撑!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市晤斩,隨后出現(xiàn)的幾起案子焕檬,更是在濱河造成了極大的恐慌,老刑警劉巖澳泵,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件实愚,死亡現(xiàn)場離奇詭異,居然都是意外死亡烹俗,警方通過查閱死者的電腦和手機爆侣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幢妄,“玉大人兔仰,你說我怎么就攤上這事〗对В” “怎么了乎赴?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長潮尝。 經(jīng)常有香客問我榕吼,道長,這世上最難降的妖魔是什么勉失? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任羹蚣,我火速辦了婚禮,結(jié)果婚禮上乱凿,老公的妹妹穿的比我還像新娘顽素。我一直安慰自己,他們只是感情好徒蟆,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布胁出。 她就那樣靜靜地躺著,像睡著了一般段审。 火紅的嫁衣襯著肌膚如雪全蝶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音抑淫,去河邊找鬼绷落。 笑死,一個胖子當著我的面吹牛始苇,可吹牛的內(nèi)容都是我干的嘱函。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼埂蕊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了疏唾?” 一聲冷哼從身側(cè)響起蓄氧,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎槐脏,沒想到半個月后喉童,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡顿天,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年堂氯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牌废。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡咽白,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鸟缕,到底是詐尸還是另有隱情晶框,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布懂从,位于F島的核電站授段,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏番甩。R本人自食惡果不足惜侵贵,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缘薛。 院中可真熱鬧窍育,春花似錦、人聲如沸掩宜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽牺汤。三九已至辽旋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背补胚。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工码耐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人溶其。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓骚腥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓶逃。 傳聞我的和親對象是個殘疾皇子束铭,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容