Linux 下建立 Git 與 GitHub 的串連,gitgithub
Git 是一款開源的分布式版本控制系統,而 GitHub 是依託 Git 的代碼託管平台。
GitHub 利用 Git 極其強大的複製和分支功能,使得社區成員能夠自由地參與到開源項目中去。
不過,在開始學習之前,你需要一個 GitHub 帳號,以及一台能連網的 Linux 虛擬機器。
一、安裝 Git
* 如果你已經安裝好了 Git,可以忽略這一步
Ubuntu 安裝 Git:apt-getinstall git
CentOS 安裝 Git:yum install git
查看 Git 版本資訊:git version
配置 Git 使用者資訊:
git config --global user.name "woider" git config --global user.email "woider@gmail.com"
↑ 把使用者名稱和郵箱換成你自己的,鍵入命令後螢幕沒有輸出,則表示設定成功了
二、開啟 SSH 服務
* 如果你使用的是 CentOS,則預設開啟了 SSH,可以忽略這一步
Ubuntu 安裝 SSH:apt-getinstall ssh
查看 SSH 服務狀態:ps -e | grep sshd
↑sshd 表示 ssh-server 已啟動
三、產生 SSH KEY
* 使用ls -al ~/.ssh命令查看 ssh key 是否存在,若存在則忽略這一步
產生 SSH KEY:ssh-keygen -t rsa -C"woider@gmail.com"
↑ 產生 ssh key 過程中,會讓你填寫 passphrase,連按三次斷行符號跳過即可
================SSH KEY===================
一、查看 SSH KEY
進入 /root/.ssh 目錄,查看 id_rsa 和 id_rsa.pub 檔案:
root@localhost:~# cd /root/.ssh root@localhost:~/.ssh# ls -a
↑ id_rsa 為私密金鑰,id_rsa.pub 為公開金鑰
二、複製 SSH KEY
開啟 id_rsa.pub 檔案,將內容複寫到剪貼簿:vim id_rsa.pub
↑ SSH KEY 公開金鑰,用於 GitHub 身分識別驗證
三、添加 SSH KEY
登入 GitHub,開啟 Personal settings 頁面,選擇 SSH and GPG keys 選項:
↑ Title 可以隨意填寫,Key 中填寫剛從 id_rsa.pub 中拷貝的內容
添加 SSH key 之後,Linux 就可以通過 SSH 建立本地 Git 與 GitHub 的串連了。
================GitHub===================
一、建立GitHub倉庫
↑ 建立一個名為 baidu 的倉庫
↑ SSH 地址為 git@github.com:woider/baidu.git
二、複製倉庫到本地
通過 SSH 地址將 GitHub 倉庫複製到本地:
git clone git@github.com:woider/baidu.git
↑ 第一次串連時,需要你確認 GitHub 的 Key 的指紋資訊是否真的來自 GitHub 的伺服器。
複製到本地的倉庫會自動關聯遠程倉庫,可以通過git remote -v 命令查看關聯狀態:
↑ 關聯後可以通過git push origin master 命令推送修改
注意:如果複製的是其他人的倉庫,由於沒有許可權,你將不能推送修改。
/* 建立一個 readme.md 檔案 */root@localhost:/home/baidu# vim readme.md/* 輸出 readme.md 檔案內容 */root@localhost:/home/baidu# cat readme.md Git關聯GitHub=============/* 將檔案添加到暫存區 */root@localhost:/home/baidu# git add readme.md /* 提交本次修改 */root@localhost:/home/baidu# git commit -m "add readme file"[master 228d321] add readme file 1 file changed, 2 insertions(+) create mode 100644 readme.md /* 推送到遠程倉庫 */root@localhost:/home/baidu# git push origin masterCounting objects: 3, done.Compressing objects: 100% (2/2), done.Writing objects: 100% (3/3), 290 bytes | 0 bytes/s, done.Total 3 (delta 0), reused 0 (delta 0)To git@github.com:woider/baidu.git 36c5c1c..228d321 master -> masterroot@localhost:/home/baidu#