本文是《程序猿叨叨叨》系列文章中的其中一篇,想要了解更多相關的文章,歡迎猛戳藍字前往閱讀。
在前面幾篇中,筆者曾多次和大家提到過Github網站,作為全球最大的同性交友網站,想必,各位小伙伴們也是迫不及待地在這個網站上找到自己的知己。如同在百合網相親一樣,我們需要上傳自己的個人信息供其他人了解,在Github上,代碼就是我們的名片。今天在Level 6的修煉道路上,我們來學習一下常用的git指令。
Git常用命令速查表
這張表包含了大部分我們上傳項目代碼時用到的命令,但是毫無頭緒地查看這張表,對于我們未接觸過Git的小伙伴們來說肯定是無從下手的,所以我們按照上傳一個項目的流程過一下我們使用的Git命令。
上傳代碼流程
-
注冊Github賬號
注冊Github賬號
點擊這里進行賬號的注冊,注冊過程在此不做過多講解,各位讀者們按照套路來即可。
-
新建Github倉庫
新建Github倉庫
這里的倉庫指的就是Github網站上存放代碼的地方,點擊這里新建我們的項目,按套路填寫項目的相關信息,這里提一點:
新建項目時有一個Initialize this repository with a README選項,如果勾選,會在新建項目過程中生成一個README.md的文件,md指的是Markdown文件,其作用是對我們的項目進行描述,以比較有名的ButterKnife為例,我們看到的下圖內容,就是通過README.md文件實現的,它出現在項目根目錄中,方便他人對我們的項目進行了解。
QQ20161102-2.png
新建完畢后,若出現如下圖所示,則我們新建項目完畢,我們可以看到我們的遠程(即Github項目網站上的,下同)項目文件結構:
Github項目結構 -
配置Git命令環境
Git命令需要在對應的環境下才能使用,本節我們來下載配置Git命令環境,點擊這里進入Git下載頁面進行下載:
git下載頁面
下載安裝按套路一步一步來,安裝完畢后,Git命令環境也就搭建完成了。 上傳本地工程代碼
筆者開發安卓,所以上傳的代碼以安卓工程為例,打開命令行,進入項目根目錄,開始如下操作:
// 進入項目根目錄,當前項目名為Mitu,本地項目名和遠程倉庫的命長可以不一致
cd /Volumes/J_Eric/J_workRoom/AndroidStudio/MiTu
// 初始化本地項目的git,會在當前目錄下生成一個.git文件夾,所有的git配置都在其中
git init
// 建立遠程連接,項目連接可在Github相應目錄下得到,如下圖
git remote add origin https://github.com/inerdstack/MyFirstProject.git
// 添加賬戶信息:賬戶名
git config user.name "inerdstack"
// 添加賬戶信息:綁定的郵箱
git config user.email "wjnovember@gmail.com"
// 添加本地項目文件(夾子),"."或"-A"表示添加所有文件
// 若添加個別文件,可以輸入文件路徑,多個文件之間以空格隔開
git add .
// 添加本次提交描述
git commit -m "我的第一次提交"
// 因為我們遠程新建項目的時候,自動生成了README.md的文件
// 所以我們需要將遠程的文件先拉到本地,與本地文件進行合并比較
// master表示項目的分支,默認主分支(master)
git pull origin master
// 拉到本地后,進行核查,如果文件不存在沖突,則進行上傳,將本地項目推上去
git push origin master
至此,我們項目上傳完畢,可以在Github網站上看到工程文件:
上面我們講解的是HTTPS的上傳方式,除此之外,我們還可以使用SSH的方式上傳,與HTTPS基本類似,其區別有以下兩點:
1.在git push命令前添加項目的deploy key:
在Terminal中輸入:
// 生成key
ssh-keygen -t rsa -C "Github的注冊郵箱地址"
// 打開key文件所在的文件夾,默認路徑:~/.ssh
open ~/.ssh
打開id_rsa.pub文件,復制所有內容,進入Github倉庫里的Deploy key設置頁面,點擊Add deploy key,在key項粘貼復制的內容,輸入好標題(隨意輸入)點擊Add key完成key的添加。
2.git remote add origin鏈接改為:
創建分支
在實際開發中,開發者會把上線的代碼和平時寫的代碼區分開,這時候需要創建一個分支(注意與默認的主分支master區別開),上線的代碼放到主分支上,平時的代碼每完成一個模塊就會放到新建的分支上。
創建分支分兩部分:
1. 遠程創建分支
在遠程的項目倉庫中,點擊branch,在輸入框輸入新分支的名稱,按回車鍵完成遠程分支的創建,新建的分支,其文件目錄與創建時master的文件目錄一樣。
2. 本地創建分支并上傳
打開Terminal,在本地項目根目錄下,實現如下操作:
// 創建一個新的分支
git checkout -b "debug"
// 拉分支上的代碼到本地,實現代碼同步
git pull origin debug
// 推本地的代碼到遠程的分支
git push origin debug
克隆工程
當工程項目上傳Github后,需要在另一臺設備上得到項目代碼,這時候我們可以使用克隆將遠程的代碼拿到本地,Terminal命令如下:
// 將遠程的倉庫克隆到本地
git clone https://github.com/inerdstack/MyFirstProject.git
// 若想遠程克隆分支上的代碼,則添加-b 分支名
git clone -b debug https://github.com/inerdstack/MyFirstProject.git
這里注意一下:克隆過來的工程文件夾里面是不包含.git文件的,所以克隆過來的項目若要上傳Github需要重新按項目上傳流程走一遍。
分支合并
當項目上線時,次分支上的代碼會同步到主分支上,我們會用到分支的合并,打開命令行,進行如下操作:
// 將當前分值切換到主分支
git checkout master
// 將次分支的文件合并到主分支
git merge origin/debug
筆者使用上述指令合并了分支,但Github上的倉庫依然未顯示分支合并,debug分支上的文件未同步到主分支,對此表示不解,若各位讀者們知曉其中的錯誤,歡迎指正。對于分支的新建與合并,想要了解更多可點擊這里。
以上即常用git指令的簡單操作,感謝大家的閱讀!