顯示廣告
隱藏 ✕
看板 KnucklesNote
作者 Knuckles (站長 那克斯)
標題 [AndroidStudio] 將專案上傳至 GitHub 與其他人共同開發
時間 2018-01-26 Fri. 02:57:04


延續上一篇 [AndroidStudio] 使用 Git 版本控制系統(VCS) - KnucklesNote板 - Disp BBS
已將專案使用 Git 做版本控制了
但這樣也只能自己用而已,想要讓多人共同開發的話要找個網站上傳

這篇要記錄如何將專案上傳至 GitHub 網站

GitHub 是現在最多人使用的程式碼代管網站
使用免費方案的話程式碼必需公開分享,無限制上傳數量
若付費的話可以只限團隊成員存取


在 GitHub 新增 Repository

如果還沒在 GitHub 註冊的話,先註冊一個帳號
[圖]


帳號使用的方案選免費的就好
[圖]

免費方案的限制就是上傳的程式碼都要設為公開
* 2020年後免費方案也可以設為私人了

在 Android Studio 中就可以直接新增 GitHub Repository
不用在 GitHub 網站中新增

點「VCS」/「Import into Version Control」/「Share Project on GitHub」
[圖]


要先登入 GitHub,在 Auth Type 選「Password」
輸入 GitHub 註冊的帳號密碼後,按「Login」登入
[圖]


輸入要在 GitHub 上新增的 Repository 名稱後,點「Share」
[圖]


成功後會出現這個訊息
[圖]


點一下上面的連結,就可以在 GitHub 網站上看到上傳好的專案了
[圖]



使用 Push 將更新的程式碼上傳至 GitHub

新增一段程式碼
    void testPush() {
        Log.d("test","測試用push上傳程式")
    }

然後點「VCS」/「Commit Changes...」
將游標移至「Commit」按鈕上,點選下方出現的「Commit and Push...」
[圖]


就會在 Commit 之後跳出 Push Commits 的視窗
選擇剛剛新增的 Commmit 後,點「Push」
[圖]


到 GitHub 網站上看看,剛剛更新的程式碼已加上去了
[圖]



使用 Check Out 下載 GitHub 上的專案

假設自己是另一個開發者,或者是使用另外一台電腦時
想要將之前上傳至 GitHub 的專案下載來修改的話

可以在 Android Studio 的起始畫面點選
「Check out project from Version Control」/「GitHub」
[圖]


或是在已開啟其他專案時,點選
「File」/「New」/「Project from Version Control」/「GitHub」
[圖]


會登入 GitHub 帳號,可直接在這選取帳號下的 Repository
然後在下載後要儲存的專案資料夾名稱,設為「GitExample2」
點選「Clone」開始下載
[圖]


若出現錯誤訊息
「Unsupported Modules Detected: Compilation is not supported for following modules: GitExample2. Unfortunately you can't have non-Gradle Java modules and Android-Gradle modules in one project.」
[圖]


這是因為有些檔案被列在 .gitignore 所以沒有一起上傳到專案裡
只要點一下 Details... 後,點「Remove Selected」,將不存在的檔案從專案中移除
[圖]


然後點一下「Tools」/「Android」/「Sync Project with Gradle Files」即可
[圖]


接著來修改一下程式後上傳看看
新增這段程式
    void testNewUserPush() {
        Log.d("test","測試用另一個使用者上傳程式");
    }

執行 Commit and Push
[圖]



使用 Merge 將另一個使用者的更新合併進來

回到原本的專案 GitExample
上傳另一段程式
    void testOriginalUserPush() {
        Log.d("test","測試用原本的使用者上傳程式");
    }

執行 Commit and Push
[圖]


可以 Commit 但是在 Push 時會被拒絕
[圖]


因為 GitHub 上的程式已經被另一個使用者在 GitExample2 的專案修改過了
點一下「Merge」後,可以選擇要使用自己的修改,還是別人的修改,或是合併雙方的修改
在這邊我們選擇點一下「Merge...」來合併雙方的修改
[圖]


在 Merge 視窗可以看到左邊是在本機的修改,右邊是存在 GitHub 上的修改
中間是合併後的結果
[圖]


點一下左邊視窗的 >> 符號,與右邊視窗的 << 符號
將兩個板本的修改都加進合併後的結果,然後點「Apply」
[圖]


使用 Merge 將程式碼合併後,還要再執行 Push 將合併的結果上傳
點「VCS」/「Git」/「Push...」
[圖]


[圖]


檢查 GitHub 上的程式碼已經是合併的板本了
Commit 的分支圖會像這樣
[圖]




--
※ 作者: Knuckles 時間: 2018-01-26 02:57:04
※ 編輯: Knuckles 時間: 2023-11-07 16:30:21 (台灣)
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 4739 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇
看板名稱: 確定(Enter) 取消(Esc) 搜尋(Space)
查詢帳號: 確定(Enter) 取消(Esc) 搜尋(Space)
搜尋: m)m文 b)進板 c)未分類 a)作者 /)標題 q)取消?[q]

搜尋 送出(Enter) 取消(Esc)

回覆文章至: f)看板 m)作者信箱 b)兩者皆是 q)取消?[f]
要引用原文嗎? y)引用原文 n)不引用 a)全部回覆 r)複製原文 q)取消?[y]
轉錄本文章於看板: 1)使用連結 2)使用複製 q)取消 ?[1]
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc) 全部(a)

確定要刪除這篇文章?(可按大U救回) 確定(Enter) 取消(Esc)

刪除理由:

確定(Enter) 取消(Esc)
加到這個分類: 確定(Enter) 下一層(→) 回上層(←) 取消(Esc)
你覺得這篇文章: 1)真讚 2)真瞎 q)取消?[1] (再選一次即可收回)
你覺得這篇文章: 1)值得推薦 2)表示反對 3)單純註解 q)取消?[3]
guest
預覽(Enter) 取消(Esc)
上傳圖片
按ctrl+Enter可輸入下一行。
guest
確定要送出? 確定(Enter) 取消(Esc) 繼續(e)
搜尋: 送出(Enter) 取消(Esc)

▏▎▍▌▋▊▉ 請按任意鍵繼續