<h4>首先Git是啥玩意?</h4>
Git(分布式版本控制系統(tǒng))是一款免費(fèi)、開(kāi)源的分布式版本控制系統(tǒng)蚪战,用于敏捷高效地處理任何或小或大的項(xiàng)目牵现。
Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),可以有效邀桑、高速的處理從很小到非常大的項(xiàng)目版本管理瞎疼。
Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼的版本控制軟件。
Torvalds 開(kāi)始著手開(kāi)發(fā) Git 是為了作為一種過(guò)渡方案來(lái)替代 BitKeeper壁畸,后者之前一直是 Linux 內(nèi)核開(kāi)發(fā)人員在全球使用的主要源代碼工具贼急。開(kāi)放源碼社區(qū)中的有些人覺(jué)得BitKeeper 的許可證并不適合開(kāi)放源碼社區(qū)的工作,因此 Torvalds 決定著手研究許可證更為靈活的版本控制系統(tǒng)捏萍。盡管最初 Git 的開(kāi)發(fā)是為了輔助 Linux 內(nèi)核開(kāi)發(fā)的過(guò)程太抓,但是我們已經(jīng)發(fā)現(xiàn)在很多其他自由軟件項(xiàng)目中也使用了 Git。例如 很多 Freedesktop 的項(xiàng)目遷移到了 Git 上(好吧這是我從百度抄的)
我的理解Git就跟他的中文解釋是的令杈!分布式版本控制系統(tǒng)走敌,首先分布式的意思就是不像SVN一樣有個(gè)固定的服務(wù)器,Git他就存在于你們每個(gè)人的電腦中逗噩,這樣就不會(huì)像SVN那樣如果服務(wù)器出現(xiàn)了問(wèn)題項(xiàng)目就完蛋了掉丽。但是Git真正強(qiáng)大的地方在于它的版本控制。本文只是教會(huì)老爺們?nèi)绻?jiǎn)單的使用Git异雁,如果不正確的地方請(qǐng)老爺們指正捶障,比較高深的Git操作方法本文就不提了(想提我也不會(huì)),一點(diǎn)一點(diǎn)精進(jìn)嘛纲刀!
首先咱們考慮一下项炼,如果是分布式,那是不是證明誰(shuí)都能改你GitHub上面的項(xiàng)目了柑蛇?會(huì)不會(huì)誰(shuí)都可以把你的項(xiàng)目改成屎一樣芥挣?理論上是這樣的驱闷,但是怎么能讓這種事情發(fā)生呢耻台!所以Git有一層SSH認(rèn)證,只有在GitHub上面已經(jīng)上傳了你本地電腦上面生成的公鑰時(shí)你才能對(duì)你GitHub上面的項(xiàng)目進(jìn)行操作空另。
<h5>第一步:本地生成SSH公鑰</h5>
首先確定你真的安裝了Git盆耽!怎么確定自己查去這么簡(jiǎn)單的事情我就不告訴你。
然后使用Git命令設(shè)置Git的userName
和email
git config --global user.name "LonelyBanana"
git config --global user.email "bigbutton@yeah.net"
懶人自己復(fù)制
然后告訴你們一個(gè)大招扼菠,先看看你們電腦的根里面有沒(méi)有.ssh文件夾摄杂,找不到對(duì)不?因?yàn)樗莻€(gè)隱藏的文件夾打開(kāi)你們的終端
defaults write com.apple.finder AppleShowAllFiles YES
復(fù)制吧
然后發(fā)現(xiàn)還是看不到對(duì)不循榆?
點(diǎn)擊你們左上角的小蘋(píng)果析恢,點(diǎn)擊強(qiáng)制退出找到Finder,右下角重新啟動(dòng)
然后再看看
找到的刪掉里面的文件(先備份哦)秧饮。
如果沒(méi)有這個(gè)文件夾的老爺們映挂,接下來(lái)可厲害了泽篮。
接下來(lái)生成公鑰
ssh-keygen -t rsa -C “bigbutton@yeah.net”
復(fù)制吧啊
然后會(huì)讓你輸入密碼,你高興你可以輸入柑船!不輸入就敲回車(chē)吧帽撑!敲敲就結(jié)束了。
這一步完成你就得到了上面內(nèi)個(gè)文件夾里面的秘鑰了鞍时。
下面登錄你的GitHub
點(diǎn)擊Settings
如圖你可以添加很多
上面TItle你起個(gè)名字就行方便管理亏拉,底下的Key,就是在.ssh文件夾里面的id_rsa.pub這個(gè)文件打開(kāi)后你把里面的東西全部復(fù)制逆巍,粘貼到Key這個(gè)輸入框里面就OK了然后點(diǎn)擊Add SSH Key
現(xiàn)在各位老爺?shù)腉itHub上面應(yīng)該都是沒(méi)有項(xiàng)目的對(duì)不及塘?
如果有項(xiàng)目的可以用git clone 后面是你的項(xiàng)目在git上面的地址如git clone git@github.com:gx921016/LBCoreNet.git
沒(méi)有項(xiàng)目的老爺也別著急,接下來(lái)我告訴你們?cè)趺窗涯銈兊捻?xiàng)目push上去锐极。
首先在GitHub上面搞一個(gè)儲(chǔ)存庫(kù)磷蛹,像這樣:
<h5>現(xiàn)在是如果你現(xiàn)在已經(jīng)有寫(xiě)好的代碼然后你想把項(xiàng)目push上去。那么你需要打開(kāi)終端
cd /你的項(xiàng)目
用命令進(jìn)入到你的項(xiàng)目中
接下來(lái)是沒(méi)有點(diǎn)擊創(chuàng)建README的老爺們溪烤,那就簡(jiǎn)單了味咳,首先輸入命令:
git init
然后看到:
Initialized empty Git repository in XXX
恭喜你就已經(jīng)正確了,接下來(lái)你要做的就是:
git add *
這個(gè)意思是把所有文件都添加檬嘀,沒(méi)有任何提示信息就正確了槽驶,接下來(lái):
git commit -m "這是一個(gè)邪惡的東西"
-m后面是添加描述。
git commit
命令執(zhí)行成功后會(huì)告訴你鸳兽,有幾個(gè)文件被改動(dòng)掂铐。
然后就要用到剛剛咱們建立的庫(kù)了
咱們復(fù)制當(dāng)中的鏈接
然后回到終端
git remote add origin git@github.com:gx921016/LBCoreNet.git
這樣就把你的項(xiàng)目和你建立的庫(kù)關(guān)聯(lián)上了。
git push -u origin master
然后運(yùn)行這個(gè)揍异,就可以把你的項(xiàng)目push到主分支上面啦全陨。
接下來(lái)如果剛剛有的老爺手沒(méi)忍住,不小心點(diǎn)了創(chuàng)建README的話可能會(huì)發(fā)現(xiàn)衷掷,執(zhí)行push到主分支的時(shí)候好像有點(diǎn)問(wèn)題辱姨,這個(gè)問(wèn)題其實(shí)就是你本地項(xiàng)目中木有README而你倉(cāng)庫(kù)中已經(jīng)有了,你push的時(shí)候git發(fā)現(xiàn)對(duì)不上了戚嗅,如果這樣那就需要多加一條命令了雨涛,
git pull --rebase origin master
然后你看看README是不是已經(jīng)到你的項(xiàng)目中了,然后再把git add*
往后的流程走一遍就OK了懦胞,如果想知道README怎么用替久,你往README里面敲點(diǎn)東西,然后push上去試試你就知道了躏尉。
<h6>如果我寫(xiě)的不對(duì)的地方望老爺們指正蚯根,多多交流共同進(jìn)步,如要轉(zhuǎn)載請(qǐng)注明出處謝謝老爺們U兔印颅拦!<h6>