前言
本文整理在 Android Studio 下使用 Github 做版本控制時,會遇到的幾個情境.可以利用子標題去搜尋,標題如下:
1. GitHub Repositories 檔案更新後,如何更新 Android Studio 專案
2. Android Studio 檔案修改後,如何更新檔案至 Github Repositories
3. Check out Github 上的專案到 Android Studio
![](https://1.bp.blogspot.com/-9q0_15FP3Uk/YCvehs00YlI/AAAAAAAAFvs/krGkBrYRr5MX-dMVk_pfRdQ8Kbm6nFigACLcBGAsYHQ/s0/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258811.02.15.png) |
提示 : Local 為電腦端 Remote 為 Github 上專案 |
GitHub Repositories 檔案更新後,如何更新 Android Studio 專案
![](https://1.bp.blogspot.com/-ZbC8BjD4jzc/YCvHS3ptIsI/AAAAAAAAFrQ/vEsOeoujSUYxU_2S-yA5itLe27LxhvjuACLcBGAsYHQ/w400-h165/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%25889.22.39.png) |
首先直接在 Github 網站上,更新程式碼. 這個情況類似一個 Team 負責一個專案,而其中一個成員更新了專案程式碼 |
![](https://1.bp.blogspot.com/-VwzYtBYRJHQ/YCvIIhjvQlI/AAAAAAAAFrY/P4PYg9GkUhcgVVKKUiHtYVlVR_Ggb4NigCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%25889.24.19.png) |
可以看到版本的歷史紀錄中,已經顯示檔案被更新 |
![](https://1.bp.blogspot.com/-zWSy8PNOm3w/YCvMK7CBvKI/AAAAAAAAFrw/nJiDcUfelVMzCHEU_Pnv2WgaQLGCRqCBACLcBGAsYHQ/w640-h216/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%25889.43.53.png) |
此時專案中 Local 的紀錄,跟 GitHub 上是有差異的
|
![](https://1.bp.blogspot.com/-0Cd_B42Ew3E/YCvM9_hfJKI/AAAAAAAAFr8/fQ97SrJuFWA_PW6v0dn7Q3p524CPA4yiQCLcBGAsYHQ/w640-h216/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%25889.33.33.png) |
Remote 端檔案紀錄也是更新前的紀錄,需要去更新 |
補充 : 如果沒有看到 View Tool - Git 可以到 Tool 選單開啟
![](https://1.bp.blogspot.com/-Mt--AsDLiUQ/YCvNra4i4UI/AAAAAAAAFsM/eC-8qbl21kQfIh_GByhldciBaQTRxcFUgCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%25889.50.23.png) |
點選更新圖標 Fetch All Remotes |
![](https://1.bp.blogspot.com/-4G3OoOTH2Rk/YCvN7549p0I/AAAAAAAAFsY/GQQ6tWGjLJEgsvB52wo5Bdo6ojuIBk0VQCLcBGAsYHQ/w640-h238/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%25889.51.32.png) |
Remote 端,歷史列表中就會把 Github 的紀錄撈下來 |
![](https://1.bp.blogspot.com/-J3HBq0UeloY/YCvPBzMsl3I/AAAAAAAAFso/SnJjafZsWxc_1jeIHPFqpRjZY52ysm4HwCLcBGAsYHQ/w400-h113/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%25889.52.49.png) |
點選 藍色箭頭 update Project |
![](https://1.bp.blogspot.com/-g2pivCLILaY/YCvPB7dDSsI/AAAAAAAAFsk/l6YIKp_fLqgAA0jPAD-K9fJo-yF59y4eACLcBGAsYHQ/w400-h148/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%25889.53.21.png) |
選擇 Merge incoming changes into current branch |
![](https://1.bp.blogspot.com/-8I6m0m396T0/YCvPB0x-xFI/AAAAAAAAFss/GkhvIm_UteYfMKXp0hfePGHlw-8vKwaGACLcBGAsYHQ/w640-h124/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%25889.55.01.png) |
Local 端紅色框標籤,顯示 github 跟 master 已同步,且檔案更新完成 |
![](https://1.bp.blogspot.com/-p3DTsoTdNMM/YCvQO_6qUII/AAAAAAAAFs8/wQZlMSc1VxAtpNaE2qwg9dL1MhX4eVV7wCLcBGAsYHQ/w640-h192/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.00.38.png) |
延續上一張圖,沒有同步只會顯示 master |
Android Studio 檔案修改後,如何更新檔案至 Github Repositories
![](https://1.bp.blogspot.com/-KSuqKAruNTI/YCvRarVkW0I/AAAAAAAAFtI/GCzRN1B_dc8XHhzuTMQca_OTZMqSWb1eACLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.06.22.png) |
假設 Android Studio Local 端的檔案已經更新,我們需要更新到 Github 上 點選綠色打勾 commit |
補充 : View Tool - Commit 可以至 View 開啟
![](https://1.bp.blogspot.com/-RGYDC-12_bA/YCvSlDFBQeI/AAAAAAAAFtY/nTY4dKW-Q0g5cNiBEiQo7Xmxz_Nhbqg8ACLcBGAsYHQ/w335-h400/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.11.17.png) |
填寫 commit Log 訊息,且可以查看所有更改過的檔案 |
![](https://1.bp.blogspot.com/-GQyO8CSUSdk/YCvS2y0fO-I/AAAAAAAAFtg/rqGGn-rpVycppsflBGWmqXP3uA5F5dGHQCLcBGAsYHQ/w640-h120/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.12.29.png) |
對檔案點選兩下,會顯示更改前後差異 |
![](https://1.bp.blogspot.com/-U8WLxywy6c0/YCvTtKa1T2I/AAAAAAAAFts/cOQGr9JXnS4TUr5_QIpQ5JyQ_m_-RmiuACLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.13.42.png) |
點選 commit 後,檔案還沒有更新到 Github 上,只有 Local 端會有紀錄 |
![](https://1.bp.blogspot.com/-olSu26dplGk/YCvT82uAd_I/AAAAAAAAFt0/5VHH8IYmPGo7bL76wSzDlfz_yAGDMWg3wCLcBGAsYHQ/w640-h180/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.16.04.png) |
Local 端顯示,紅綠標籤 master 是當前的版本,紫色則是 Github 的版本 |
![](https://1.bp.blogspot.com/-TxUh9rWMny4/YCvUb50gvEI/AAAAAAAAFt8/5F3WoUkOQigLqBQxA7sSq01wdGlgApdBgCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.18.42.png) |
Push 檔案 |
![](https://1.bp.blogspot.com/-JwcCqlKVQx4/YCvUb5S3NSI/AAAAAAAAFuA/QfPWMQg9CCAeYOJJedZv1xaDnu6AitVjQCLcBGAsYHQ/w400-h261/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.19.02.png) |
點選 Push 檔案,檔案更新到 Github
|
![](https://1.bp.blogspot.com/-TCu5yFwTPVA/YCvVZpOfvJI/AAAAAAAAFuQ/dpFuNSI_70YMnbuLrcrxWAxkV-CEPDGuQCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.22.47.png) |
可以在 commit 時直接點選 Push |
補充:有可能在 Local 端會連續更新好幾個版本,最後一次 Push 到 Github 上
![](https://1.bp.blogspot.com/-xbTYm2bD1Fs/YCvWOw6x3II/AAAAAAAAFuY/FgJ7XFIlsDAdv-ZTnZbzm7cnH44VPSNIgCLcBGAsYHQ/w640-h246/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.25.44.png) |
會顯示要 push 的版本 |
![](https://1.bp.blogspot.com/-jromFKy9T9c/YCvWjNJOiBI/AAAAAAAAFug/I-lahgvf9Gc12ZjwPmDJQyiKi061sC7RgCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.28.16.png) |
push 完成後,更新 Remote Github版本,標籤會重新對上 |
Check out Github 上的專案到 Android Studio
會遇到 Check out 的狀況,可能是分配到去維護舊的專案或是需要去維修特定專案的 Bug 等,有兩個方式可以把整個專案 Checkout 下來.
1. 關閉專案,透過 Android Studio Welcome 選單
![](https://1.bp.blogspot.com/-DU0JREoyYFI/YCvaAWF1FTI/AAAAAAAAFus/dYhOoxoMQfkLPPhnCghEcCmiAQIWcbfHgCLcBGAsYHQ/s320/%25E6%2588%25AA%25E5%259C%2596%2B2021-02-16%2B%25E4%25B8%258B%25E5%258D%258810.35.24.png) |
選擇 Get From Version Control |
2. 透過 New File 方式
留言
張貼留言