iT邦幫忙

2025 iThome 鐵人賽

DAY 5
0
Mobile Development

Flutter :30天打造念佛App,跨平台應用從Mobile到VR,讓極樂世界在眼前實現!系列 第 5

[ Day5 ] Flutter Git 實戰入門篇—穿越到Coding世界的勇者啊,你需要這套神裝(3)

  • 分享至 

  • xImage
  •  

2025 iThome鐵人賽
Flutter :30天打造念佛App,跨平台從Mobile到VR,讓極樂世界在眼前實現!
Day 5
Flutter Git 實戰入門篇—穿越到Coding世界的勇者啊,你需要這套神裝(3)


前言

昨天我們已經認識了「儲存庫」、「.gitignore」和「Conventional Commit」,
今天要來完成 Git 神裝的最後一個基礎元件——「雲端儲存庫」!
有了雲端儲存庫,入門版 Git 護體神裝就完整啦🎉
我們再也不怕電腦壞掉Code沒了😿,
也可以透過雲端儲存庫和其他人協作專案!

Day5 文章目錄:
一、 建立GitHub雲端儲存庫
二、 連結雲端儲存庫
三、 推送雲端儲存庫


一、建立GitHub雲端儲存庫

1. 註冊完成後,點選 Create repository

2. 建立空白儲存庫

  • public 與 private 決定「 誰能看到程式碼 」。

▪︎ Public:所有人都能看見程式碼,但不代表所有人都能修改。
▪︎ Private:只有被授權的人能看見,也只有他們能修改。

就算是 public repo,陌生人也不能直接 push 改動我們的儲存庫。
他們只能 fork 一份到自己帳號,然後發 PR 過來,我們審核通過才會合併。

要進行團隊協作,我們可以在repo 設定中邀請協作者或建一個GitHub 組織。

權限 Public Private
誰能看 所有人 只有授權者
誰能改 受邀的協作者與團隊成員 受邀的協作者與團隊成員
陌生人 能看、不能直接改 不能看、不能改
  • 提醒:建議先不要勾選建立 README、LICENSE 等檔案。

Readme :專案的說明文件,包含專案用途與使用教學等。
.gitignore :排除不被版本記錄的檔案,我們已經在本地端設置好。
license:專案的授權條款,個人專案或開源套件通常會使用寬鬆的MIT License。

  • 因為第一次 git push時,可能會遇到推送被拒絕的情況。

原因是雲端比本機多出一個初始 commit(root-commit),
而本機也有自己的 root-commit,導致兩邊的 commit 歷史沒有共同祖先,
Git 無法直接快轉(fast-forward),必須額外進行合併或 rebase 才能推送成功。

To https://github.com/NamoAmitabhaTW/demo-conflict.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'https://github.com/NamoAmitabhaTW/demo-conflict.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

3. 完成GitHub儲存庫建立

接下來我們就可以打開VScode專案的Terminal,
將本機(本地)儲存庫與雲端(遠端)儲存庫連結。

因為我們在本機Git 初始化時,我們已經將預設的初始分支命名為main,
所以這邊不用 git branch -M main 更改分支名稱。


二、連結雲端儲存庫

1. 設定Git 使用 macOS 憑證管理

osxkeychain會把GitHub 登入憑證安全地存到 macOS 鑰匙圈

git config --global credential.helper osxkeychain

2. 複製HTTPS

3. 連結GitHub雲端儲存庫

origin 是遠端儲存庫的預設名稱,可自行命名,但多數人用 origin

git remote add origin <HTTPS>

4. 登入授權


5. 確認本機儲存庫成功連結雲端儲存庫

git remote --v
amitabha  https://github.com/NamoAmitabhaTW/NamoAmitabha.git (fetch)
amitabha  https://github.com/NamoAmitabhaTW/NamoAmitabha.git (push)

#我將雲端儲存庫命名 amitabha,所以最前面不是 origin

三、推送雲端儲存庫

  • 將本地儲存庫 main分支 的commit,推送到雲端儲存庫main分支

-u 會將目前本地分支與遠端分支綁定(設定上游追蹤),
之後這個分支只要輸入 git push / git pull 就能自動推拉到對應遠端分支

git push -u origin main
  • 如果本地分支名稱跟雲端不同:
git push -u origin 本地分支名:遠端分支名

git push -u origin feature/login:feature/signin
# 將本地 feature/login 分支推送到遠端 feature/signin
  • 一開始沒有綁定上游 ,事後補綁:
git branch --set-upstream-to origin/main main

Day5 重點回顧

重點 內容
建立GitHub儲存庫 建議先不勾選「建立 README / LICENSE / .gitignore」檔案
連結雲端儲存庫 git remote add origin <HTTPS>
推送雲端儲存庫 git push -u origin main

上一篇
[ Day4 ] Flutter Git 實戰入門篇—穿越到Coding世界的勇者啊,你需要這套神裝(2)
下一篇
[ Day6 ] Flutter Git 實戰應用篇—穿越到Coding世界的勇者啊,你骨骼驚奇需要這本秘笈(1)
系列文
Flutter :30天打造念佛App,跨平台應用從Mobile到VR,讓極樂世界在眼前實現!11
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言