????? 上周三的作業,直到今天才完全搞明白。之前查看了好幾個百人計劃成員的文章,總感覺有哪不對,但是又說不上來,因為自己不懂嘛!直到今天看了靜姐的文章www.lxweimin.com/p/30e229db1857 ,才知道原來如此。但是自己又不想寫一遍操作流程,我想寫出來跟靜姐也差不多,操作步驟都是一樣的,毫無意義嘛。然而下午有點空閑時間,就打算寫了寫,果然我的想法是錯誤的。把自己懂得東西通過文字輸出出來這個過程真的會學到挺多的,看別人的文章并不會有太多的思考,大體懂就行了,如果自己輸出的話,就會很糾細節,為什么是這樣的呢,然后就會百度,在百度的過程中,就會學到挺多的。比如這次的SSH協議,我知道了本地庫和遠程庫關聯可以有兩種方式,而且更加清楚了SSH是怎么回事。很感謝老徐在百人計劃中教我們的這種學習方式,輸出真的很重要,以后一定要把自己不懂的后來弄懂的東西落地輸出成文章,一方面鞏固,一方面輸出的過程中會擴展。也建議每個百人計劃成員,堅持輸出,真的會有你意想不到的收獲,希望看到我這篇文章的同學,能夠指出文章中的錯誤,有不清楚的留言溝通。
1新建文件夾及文件
(1)新建倉庫dxm,并創建文件夾afile bfile cfile以及文件config.xml
(2)壓縮三個文件夾及文件,提交到git庫
2 添加到遠程庫
(1)登錄github賬號,新建git庫,如下圖
(2)本地庫關聯遠程庫
github存在兩種操作方式,一個是ssh,一個是https,使用https方式需要輸入用戶名和密碼,而ssh是一種安全的傳輸模式,可以代替用戶通過“輸入用戶名密碼”的行為驗證用戶,但是需要提前配置好SSH keys
https和ssh的區別:
a)https:可以隨意克隆github上的項目,而不管是誰的;在pull/push的時候需要驗證用戶名和密碼
b)ssh:克隆者必須是擁者或管理員,且需要先添加 SSH key ,否則無法克隆。在pull/push的時候不再是驗證用戶名和密碼,而是通過驗證ssh的方式來驗證用戶。
在github上添加ssh key的步驟
(i)首先檢查服務器上是否已存在SSH KEY
[root@localhost dxm]# cd ~/.ssh
[root@localhost .ssh]# ls
此命令是查看.ssh目錄下是否存在id_rsa(私鑰) 或 id_rsa.pub(公鑰) 文件,如果文件已經存在,那么你可以跳過步驟(ii),直接進入步驟(iii)。
(ii)創建一個SSH key
root@localhost .ssh]#? ssh-keygen -t rsa -C "dongxiaomingyue@163.com"
參數說明:
-t 指定要創建的密鑰類型,如rsa1 、rsa、dsa
-C (comment)添加注釋,比如郵箱
輸入命令后,一路回車,直到出現如下圖中字符時,說明ssh key 已生成,或是ls查看是否存在id_rsa和id_rsa.pub文件,然后將公鑰添加到github的SSH KEY中去
(iii)添加ssh key 到github上去
a)拷貝文件id_rsa.pub中的內容
[root@localhost .ssh]# cat id_rsa.pub
b)登錄自己的github,點擊右上角settings,點擊SSH and GPG keys,點擊new SSH keys,
添加title及粘貼公鑰內容,點擊add ssh key,即完成ssh key的添加,詳細步驟參照下圖。
(iiii)測試一下ssh key
[root@localhost .ssh]# ssh -T git@github.com
Hi dongxiaomingyue! You've successfully authenticated, but GitHub does not provide shell access.
出現以上內容時說明已經設置好了SSH密鑰。
GitHub允許添加多個Key。假定你有若干電腦,你一會兒在公司提交,一會兒在家里提交,只要把每臺電腦的Key都添加到GitHub,就可以在每臺電腦上往GitHub推送了。
回歸正題(1)本地庫關聯遠程庫
[root@localhost dxm]# git remote add origin git@github.com:dongxiaomingyue/dxm.git
添加后,遠程庫的名字是origin,這是Git默認的叫法,也可以改成別的。
(2)將本地庫的壓縮包文件(istester.git.tar)推送到遠程庫
[root@localhost dxm]# git push -u origin master
git push命令可把當前分支master推送到遠程,第一次推送時,添加-u參數,不但會把本地master分支的內容推送到遠程新的master分支,同時把本地mater和遠程mater分支關聯起來,以后推送或者克隆時就可以簡化命令。
以后,只要本地做了提交,就可以通過命令,git push origin master,將本地master分支的最新修改推送至github,到此為止,我就擁有了真正的分布式版本庫
3 從遠程庫克隆
新建 /APP/www目錄,并進入到該目錄下,執行git clone命令,然后進入到dxm目錄下查看,即可查看到壓縮包文件。
[root@localhost ~]# mkdir -p /APP/www
[root@localhost www]# git clone git@github.com:dongxiaomingyue/dxm.git
此處克隆還可通過https協議,命令如下
[root@localhost www]# git clone https://github.com/dongxiaomingyue/dxm
4 部署
[root@localhost dxm]# tar -zxvf istester.git.tar