Mac如何上傳專案原始碼至GitHub

LeBron_Six發表於2016-02-22

提起GitHub大家並不陌生,GitHub也算為“開源”做出突出的貢獻了~ Git這種良好支援分支管理的分散式的SCM真正解決了一個問題問題:每個工程師在自己本地分支上開發,完成功能以後往master分支合併。

關於Windows下GitHub的一些使用,隨處可見。本文著重介紹如何在Mac OSX下上傳本地的專案原始碼至GitHub。

首先當然是安裝Git工具。

1、下載Git installer,地址:http://git-scm.com/downloads

2、pkg包下載完成,雙擊安裝。

3、開啟終端,使用git --version命令檢視安裝版本,能檢視到就是安裝成功了(eg:git version 2.5.4 (Apple Git-61))。

接下來就是建立SSH。開啟終端,輸入以下命令來檢視.ssh是否存在:

$ cd ~/.ssh
若提示“-bash: cd: ~/.ssh: No such file or directory” 那就說明.ssh資料夾不存在,那麼則進行下一個步驟,否則就是將原來的.ssh資料夾備份以下,亦或是切換到其他路徑下建立ssh。輸入以下命令來建立ssh:
$ ssh-keygen -t rsa -C xxx@xx.com
xxx@xx.com為你註冊GitHub時的郵箱賬號,命令執行成功後,會有以下提示

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/yuyuhang/.ssh/id_rsa):       // .ssh預設路徑,不輸入則不修改
Enter passphrase (empty for no passphrase):                              // 密碼長度至少為4,否則失敗
Enter same passphrase again: 
Your identification has been saved in /Users/yuyuhang/.ssh/id_rsa.
Your public key has been saved in /Users/yuyuhang/.ssh/id_rsa.pub.
The key fingerprint is:
8d:d3:5f:31:ae:13:48:f0:78:df:a1:8f:a5:a4:c0:06 352091626@qq.com
The key's randomart image is:
+--[ RSA 2048]----+
|        .        |
|         +       |
|      E . +   +  |
|       o * o + + |
|        S + = =  |
|       . o + O   |
|          . * .  |
|             .   |
|                 |
+-----------------+

接下來就是在GitHub上建立SSH。首先登陸你的GitHub,右上角使用者頭像下選擇Settings,在SSH Keys 選項裡面新增ssh,如下所示。

Title:xxx@xx.com
Key:開啟你生成的id_rsa.pub檔案(/User/yourname/.ssh/is_rsa.pub),將其中內容拷貝過來。

值得一提的是,在Mac OSX下,隱藏檔案預設是不顯示的,可以通過以下命令來 顯示/隱藏 隱藏資料夾,當然,熟悉Linux命令列操作的人,可以直接用vim命令開啟,或者cat直接顯示。

顯示Mac隱藏檔案的命令:defaults write com.apple.finder AppleShowAllFiles YES
隱藏Mac隱藏檔案的命令:defaults write com.apple.finder AppleShowAllFiles NO


然後在GitHub上建立版本庫(Repository),在GitHub首頁上,點選“Create a New Repository”,如下所示(為了便於後面演示,建立README.md這步暫不勾選):

建立完成後跳轉到程式碼倉庫介面,如下:

當然了,在沒有上傳程式碼之前,列表是空的。

緊接著按照以下步驟進行本地倉庫的建立及程式碼上傳。開啟終端,輸入以下命令:

$ touch README.md                                         //新建一個README文件,若上一步勾選了建立README.md,提交時導致衝突
$ git init                                                //初始化本地倉庫
$ git add README.md                                       //新增剛剛建立的README文件
$ git commit -m "你的註釋...."                             //提交到本地倉庫,並寫一些註釋
$ git remote add origin git@github.com:yourname/xxxx.git  //連線遠端倉庫並建了一個名叫:origin的別名,當然可以為其他名字,但是origin一看就知道是別名,youname記得替換成你的使用者名稱
$ git push -u origin master                              //將本地倉庫的檔案提交到別名為origin的地址的master分支下,-u為第一次提交,需要建立master分支,下次就不需要了
初始化完成之後,我們可以把我們專案的原始碼提交上去,使用git add命令,如下:

$ git add 系統簽名/                                      // 新增需要提交的資料夾,使用git add .  則新增全部
$ git add assets/
$ git add project.properties 
$ git add res/
$ git add src/
$ git commit -m "上傳專案原始碼"                         // 提交到本地倉庫
$ git push origin master                               // 將本地倉庫合併到別名為origin地址的master分支下            

顯示結果如下,則程式碼上傳成功。

Counting objects: 63, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (53/53), done.
Writing objects: 100% (63/63), 1.41 MiB | 217.00 KiB/s, done.
Total 63 (delta 16), reused 0 (delta 0)
To git@github.com:smuyyh/autoinstall.git
   000a667..61357d8  master -> master
重新整理一下GitHub,則顯示剛剛提交的專案原始碼。


相關總結

1、要關聯一個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git;關聯後,使用命令git push -u origin master第一次推送master分支的所有內容;此後,每次本地提交後,只要有必要,就可以使用命令git push origin master推送最新修改;

2、切記上傳檔案時,一定要先commit到本地倉庫,才能進行push提交,否則會顯示Everything up-to-date(意思就是目前的遠端倉庫的內容跟本地倉庫對比後,沒有做修改,是最新的);

3、初用Mac的童鞋可能還不知道終端在哪裡,點選Finder旁邊的Launchpad,在“其他”資料夾下。

4、在設定別名的時候,出現“fatal: remote origin already exists.”錯誤,說明該別名已經存在,可以另外建一個別名,或者使用“git remote rm origin”命令刪除原來的別名,然後重新執行“git remote add origin git@github.com:yourname/xxxx.git”;

5、在提交的時候,出現“error: failed to push some refs to 'git@github.com:xxx/xxx.git' hint: Updates were rejected because the remote contains work that you do not have locally....”的錯誤,說明有衝突,遠端倉庫的版本比本地倉庫的要信,所以要先進行更新,才能提交。使用“git pull git@github.com:xxx/xxx.git”命令進行更新,地址自己相應替換掉。

相關文章