????? 上周三的作業(yè),直到今天才完全搞明白乔询。之前查看了好幾個(gè)百人計(jì)劃成員的文章樟插,總感覺有哪不對,但是又說不上來竿刁,因?yàn)樽约翰欢?直到今天看了靜姐的文章www.reibang.com/p/30e229db1857 黄锤,才知道原來如此。但是自己又不想寫一遍操作流程食拜,我想寫出來跟靜姐也差不多鸵熟,操作步驟都是一樣的,毫無意義嘛负甸。然而下午有點(diǎn)空閑時(shí)間流强,就打算寫了寫痹届,果然我的想法是錯(cuò)誤的。把自己懂得東西通過文字輸出出來這個(gè)過程真的會(huì)學(xué)到挺多的打月,看別人的文章并不會(huì)有太多的思考短纵,大體懂就行了,如果自己輸出的話僵控,就會(huì)很糾細(xì)節(jié)香到,為什么是這樣的呢,然后就會(huì)百度报破,在百度的過程中悠就,就會(huì)學(xué)到挺多的。比如這次的SSH協(xié)議充易,我知道了本地庫和遠(yuǎn)程庫關(guān)聯(lián)可以有兩種方式梗脾,而且更加清楚了SSH是怎么回事。很感謝老徐在百人計(jì)劃中教我們的這種學(xué)習(xí)方式盹靴,輸出真的很重要炸茧,以后一定要把自己不懂的后來弄懂的東西落地輸出成文章,一方面鞏固稿静,一方面輸出的過程中會(huì)擴(kuò)展梭冠。也建議每個(gè)百人計(jì)劃成員,堅(jiān)持輸出改备,真的會(huì)有你意想不到的收獲控漠,希望看到我這篇文章的同學(xué),能夠指出文章中的錯(cuò)誤悬钳,有不清楚的留言溝通盐捷。
1新建文件夾及文件
(1)新建倉庫dxm,并創(chuàng)建文件夾afile bfile cfile以及文件config.xml
(2)壓縮三個(gè)文件夾及文件默勾,提交到git庫
2 添加到遠(yuǎn)程庫
(1)登錄github賬號碉渡,新建git庫,如下圖
(2)本地庫關(guān)聯(lián)遠(yuǎn)程庫
github存在兩種操作方式母剥,一個(gè)是ssh滞诺,一個(gè)是https,使用https方式需要輸入用戶名和密碼媳搪,而ssh是一種安全的傳輸模式铭段,可以代替用戶通過“輸入用戶名密碼”的行為驗(yàn)證用戶骤宣,但是需要提前配置好SSH keys
https和ssh的區(qū)別:
a)https:可以隨意克隆github上的項(xiàng)目秦爆,而不管是誰的;在pull/push的時(shí)候需要驗(yàn)證用戶名和密碼
b)ssh:克隆者必須是擁者或管理員憔披,且需要先添加 SSH key 等限,否則無法克隆爸吮。在pull/push的時(shí)候不再是驗(yàn)證用戶名和密碼,而是通過驗(yàn)證ssh的方式來驗(yàn)證用戶望门。
在github上添加ssh key的步驟
(i)首先檢查服務(wù)器上是否已存在SSH KEY
[root@localhost dxm]# cd ~/.ssh
[root@localhost .ssh]# ls
此命令是查看.ssh目錄下是否存在id_rsa(私鑰) 或 id_rsa.pub(公鑰) 文件形娇,如果文件已經(jīng)存在,那么你可以跳過步驟(ii)筹误,直接進(jìn)入步驟(iii)桐早。
(ii)創(chuàng)建一個(gè)SSH key
root@localhost .ssh]#? ssh-keygen -t rsa -C "dongxiaomingyue@163.com"
參數(shù)說明:
-t 指定要?jiǎng)?chuàng)建的密鑰類型,如rsa1 厨剪、rsa哄酝、dsa
-C (comment)添加注釋,比如郵箱
輸入命令后祷膳,一路回車陶衅,直到出現(xiàn)如下圖中字符時(shí),說明ssh key 已生成直晨,或是ls查看是否存在id_rsa和id_rsa.pub文件搀军,然后將公鑰添加到github的SSH KEY中去
(iii)添加ssh key 到github上去
a)拷貝文件id_rsa.pub中的內(nèi)容
[root@localhost .ssh]# cat id_rsa.pub
b)登錄自己的github,點(diǎn)擊右上角settings勇皇,點(diǎn)擊SSH and GPG keys罩句,點(diǎn)擊new SSH keys,
添加title及粘貼公鑰內(nèi)容敛摘,點(diǎn)擊add ssh key的止,即完成ssh key的添加,詳細(xì)步驟參照下圖着撩。
(iiii)測試一下ssh key
[root@localhost .ssh]# ssh -T git@github.com
Hi dongxiaomingyue! You've successfully authenticated, but GitHub does not provide shell access.
出現(xiàn)以上內(nèi)容時(shí)說明已經(jīng)設(shè)置好了SSH密鑰诅福。
GitHub允許添加多個(gè)Key。假定你有若干電腦拖叙,你一會(huì)兒在公司提交氓润,一會(huì)兒在家里提交,只要把每臺電腦的Key都添加到GitHub薯鳍,就可以在每臺電腦上往GitHub推送了咖气。
回歸正題(1)本地庫關(guān)聯(lián)遠(yuǎn)程庫
[root@localhost dxm]# git remote add origin git@github.com:dongxiaomingyue/dxm.git
添加后,遠(yuǎn)程庫的名字是origin挖滤,這是Git默認(rèn)的叫法崩溪,也可以改成別的。
(2)將本地庫的壓縮包文件(istester.git.tar)推送到遠(yuǎn)程庫
[root@localhost dxm]# git push -u origin master
git push命令可把當(dāng)前分支master推送到遠(yuǎn)程斩松,第一次推送時(shí)伶唯,添加-u參數(shù),不但會(huì)把本地master分支的內(nèi)容推送到遠(yuǎn)程新的master分支惧盹,同時(shí)把本地mater和遠(yuǎn)程mater分支關(guān)聯(lián)起來乳幸,以后推送或者克隆時(shí)就可以簡化命令瞪讼。
以后,只要本地做了提交粹断,就可以通過命令符欠,git push origin master,將本地master分支的最新修改推送至github瓶埋,到此為止希柿,我就擁有了真正的分布式版本庫
3 從遠(yuǎn)程庫克隆
新建 /APP/www目錄,并進(jìn)入到該目錄下养筒,執(zhí)行g(shù)it clone命令狡汉,然后進(jìn)入到dxm目錄下查看,即可查看到壓縮包文件闽颇。
[root@localhost ~]# mkdir -p /APP/www
[root@localhost www]# git clone git@github.com:dongxiaomingyue/dxm.git
此處克隆還可通過https協(xié)議盾戴,命令如下
[root@localhost www]# git clone https://github.com/dongxiaomingyue/dxm
4 部署
[root@localhost dxm]# tar -zxvf istester.git.tar