GitHub 新手使用手冊
注: 文章摘自 偷偷有碼 - 部落格園

GitHub是基於git實現的程式碼託管。git是目前最好用的版本控制系統了,非常受歡迎,比之svn更好。
GitHub可以免費使用,並且快速穩定。即使是付費帳戶,每個月不超過10美刀的費用也非常便宜。
利用GitHub,你可以將專案存檔,與其他人分享交流,並讓其他開發者幫助你一起完成這個專案。優點在於,他支援多人共同完成一個專案,因此你們可以在同一頁面對話交流。
建立自己的專案,並備份,程式碼不需要儲存在本地或者伺服器,GitHub做得非常理想。
學習Git也有很多好處。他被視為一個預先維護過程,你可以按自己的需要恢復、提交出現問題,或者您需要恢復任何形式的程式碼,可以避免很多麻煩。Git最好的特性之一是能夠跟蹤錯誤,這讓使用Github變得更加簡單。Bugs可以公開,你可以通過Github評論,提交錯誤。
在GitHub頁面,你可以直接開始,而不需要設定主機或者DNS。
對於我來說,我可以在公司和家編輯同樣的一套程式碼了,用U盤或者網盤都好麻煩的說
理論說太多容易忘,來實踐實踐吧。
一. 建立 github repository(倉庫)
1. 登入 github
2. 建立 repository(倉庫)
為啥要叫 repository(倉庫)?我起初也納悶,叫程式碼庫不更簡單明瞭麼? 但仔細一琢磨,倉庫一般都是放糧食的吧,這是把程式碼當作飽腹之物,多有愛,瞬間覺得這冰冷冷的程式碼充滿了查克拉。
扯遠了,來看怎麼建立倉庫
看到右上角 "+" 沒? 點選選擇 "New repository"

下面是建立倉庫資訊,只有名字是必填項

建立成功後,可以看到自己的倉庫地址。它還介紹了github倉庫的常用指令, 這個指令需要在本地安裝 git 客戶端
git init // 把這個目錄變成Git可以管理的倉庫 git add README.md // 檔案新增到倉庫 git add . // 不但可以跟單一檔案,還可以跟萬用字元,更可以跟目錄。一個點就把當前目錄下所有未追蹤的檔案全部add了 git commit -m "first commit" // 把檔案提交到倉庫 git remote add origin [email protected]:wangjiax9/practice.git // 關聯遠端倉庫 git push -u origin master // 把本地庫的所有內容推送到遠端庫上

二. 安裝 git 客戶端
1. 下載 git

2. 安裝客戶端


選擇安裝路徑,千萬別選帶中文的路徑,有時候會引起不必要的誤會

選擇安裝元件,按預設的來就好了
1)圖示元件(Addition icons) : 選擇是否建立快速啟動欄圖示 或者 是否建立桌面快捷方式;
2)桌面瀏覽(Windows Explorer integration) : 瀏覽原始碼的方法, 單獨的上下文瀏覽 只使用bash 或者 只用Git GUI工具; 高階的上下文瀏覽方法 使用git-cheetah plugin外掛;
3)關聯配置檔案(Associate .git*) : 是否關聯git配置檔案, 該配置檔案主要顯示文字編輯器的樣式;
4)關聯shell指令碼檔案(Associate .sh) : 是否關聯Bash命令列執行的指令碼檔案;
5)使用TrueType編碼 : 在命令列中是否使用TruthType編碼, 該編碼是微軟和蘋果公司制定的通用編碼;

設定開始選單中快捷方式的目錄名稱,預設就好,下一步吧

設定環境變數 : 選擇使用什麼樣的命令列工具, 一般情況下我們預設使用Git Bash即可, 預設選擇;
1)Git自帶 : 使用Git自帶的Git Bash命令列工具;
2)系統自帶CMD : 使用Windows系統的命令列工具;
3) 二者都有 : 上面二者同時配置, 但是注意, 這樣會將windows中的find.exe 和 sort.exe工具覆蓋, 如果不懂這些儘量不要選擇;

選擇換行格式 ,依然是預設就好。
1)檢查出windows格式轉換為unix格式 : 將windows格式的換行轉為unix格式的換行在進行提交;
2)檢查出原來格式轉為unix格式 : 不管什麼格式的, 一律轉為unix格式的換行在進行提交;
3)不進行格式轉換 : 不進行轉換, 檢查出什麼, 就提交什麼;

選擇終端模擬器,依然預設就好
1)使用MinTTY,就是在Windows開了一個簡單模擬Linux命令環境的視窗Git Bash
2)使用windows的系統的命令列程式cmd.exe

選擇預設就好,不用檔案系統快取

安裝ing...

安裝成功

3. 繫結使用者
開啟git-bash.exe,在桌面快捷方式/開始選單/安裝目錄中
因為Git是分散式版本控制系統,所以需要填寫使用者名稱和郵箱作為一個標識,使用者和郵箱為你github註冊的賬號和郵箱
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
注: [email protected] 的部分請改成你在建立賬戶時用的郵箱地址

這個命令會在 C:\Users\Administator (Administator為電腦使用者名稱,每個人不同)目錄下生成 .gitconfig 檔案

PS: 下面程式碼是為了記住使用者名稱和密碼, 不用每次都輸入, 需要的直接新增儲存即可
[credential] helper = store
當然, 還有其他方法儲存, 可以直接在git bash 中執行命令:
- 記住密碼十五分鐘
git config --global credential.helper cache
- 自定義記住的時間 (單位: 秒)
git config credential.helper 'cache --timeout=3600'
- 永久記住
git config --global credential.helper store
最後再輸入一次賬號密碼就可以儲存了
三. 為 Github 賬戶設定 SSH key
眾所周知 ssh key 是加密傳輸。
加密傳輸的演算法有好多,git 使用 rsa,rsa 要解決的一個核心問題是,如何使用一對特定的數字,使其中一個數字可以用來加密,而另外一個數字可以用來解密。這兩個數字就是你在使用 git 和 github 的時候所遇到的 public key 也就是公鑰以及 private key 私鑰。
其中,公鑰就是那個用來加密的數字,這也就是為什麼你在本機生成了公鑰之後,要上傳到 github 的原因。從 github 發回來的,用那公鑰加密過的資料,可以用你本地的私鑰來還原。
如果你的 key 丟失了,不管是公鑰還是私鑰,丟失一個都不能用了,解決方法也很簡單,重新再生成一次,然後在 github.com 裡再設定一次就行
1. 生成 SSH Key
首先檢查是否已生成金鑰 cd ~/.ssh
ls
如果有3個檔案,則金鑰已經生成,id_rsa.pub 就是公鑰

也可以開啟我的電腦 C:\Users\Administator.ssh (Administator為電腦使用者名稱,每個人不同)裡面找到

如果沒有生成,那麼通過 $ ssh-keygen -t rsa -C “[email protected]”
來生成
的部分請改成你在建立賬戶時用的郵箱地址
1)是路徑確認,直接按回車存預設路徑即可
2)直接回車鍵,這裡我們不使用密碼進行登入, 用密碼太麻煩;
3)直接回車鍵

生成成功後,去對應目錄 C:\Users\Administator.ssh (Administator為電腦使用者名稱,每個人不同)用記事本開啟 id_rsa.pub,得到 ssh key公鑰

2. 為 github 賬號配置 ssh key
切換到 github,展開個人頭像的小三角,點選settings

然後開啟 SSH and GPG keys 選單, 點選 Add SSH key 新增金鑰,填上標題,跟倉庫保持一致吧,好區分
接著將 id_rsa.pub 檔案中 key 貼上到此,最後 Add SSH key 生成金鑰

如此,github賬號的SSH keys配置完成

四. 上傳本地專案到 github
-
建立一個本地專案
-
建立本地倉庫
再來複習一下建立新倉庫的指令:
git init // 把這個目錄變成Git可以管理的倉庫 git add README.md // 檔案新增到倉庫 git add . // 不但可以跟單一檔案,還可以跟萬用字元,更可以跟目錄。一個點就把當前目錄下所有未追蹤的檔案全部add了 git commit -m "first commit" // 把檔案提交到倉庫 git remote add origin [email protected]:wangjiax9/practice.git // 關聯遠端倉庫 git push -u origin master // 把本地庫的所有內容推送到遠端庫上
首先,進入到 beautifulDay 專案目錄,還記得建立倉庫成功後的那個頁面吧,指令都在呢
然後執行指令:git init

初始化成功後你會發現專案裡多了一個隱藏資料夾.git
這個目錄是Git用來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裡面的檔案,不然改亂了,就把Git倉庫給破壞了。

接著,將所有檔案新增到倉庫
執行指令:git add .

然後把檔案提交到倉庫,雙引號內是提交註釋
執行指令:git commit -m "提交檔案"

如此本地倉庫建立好了
3. 關聯 github 倉庫
到 github beautifulDay 倉庫複製倉庫地址

git remote add origin [email protected]:wangjiax9/beautifulDay.git

4. 上傳原生代碼
執行指令: git push -u origin master
敲一個:yes, 然後回車

到此,原生代碼已經推送到github倉庫了,我們現在去 github 倉庫看看
咦!奇怪了,我的目錄呢?這個坑突然冒出來是不是印象很深刻呢~
注意咯:git是不能管理空的資料夾的,資料夾裡必須有檔案才能add

好,我們來試一下,我在examples裡新建了一個 test1.html 檔案

執行指令新增檔案->提交檔案->推送檔案
git add .
git commit -m "提交test1.html"
git push -u origin master

然後重新整理一下 github,你會看到,examples 資料夾出來了

總結
現在通過部落格來將 github 入門梳理了一遍,印象好深刻,應該不會變成零碎了。如果大家想要知道更多的git操作和知識,推薦去看看 繆雪峰的git教程 ,講得很詳細