Github開案
至個人Github Repositories New一個新的repo
開案完畫面顯示如下,紅箭頭是用來本地連結repo的
這裡就直接複製貼上Github提供的建立方法
注意新版Github default branch為main,不是master
git remote add origin https://github.com/EideWang/Find-A-Coach.git git branch -M main git push -u origin main
第一行內的' origin '是個代名詞,用來代表後面那串(Github repo),所以是可以改的
第二行新建一個名為main的分支,-M為強制改(命)名(-m是改名,遇到重複的branch name會不能改)
第三行針對 origin推送main這個分支的內容,如果origin(Github repo)上沒有main這個分支,則建立main;有的話則推到最新的位置
-u為 --set-upstream 的縮寫
按下Enter後執行過程的訊息..
Enumerating objects: 139, done. Counting objects: 100% (139/139), done. Delta compression using up to 4 threads Compressing objects: 100% (124/124), done. Writing objects: 100% (139/139), 145.81 KiB | 2.56 MiB/s, done. Total 139 (delta 44), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (44/44), done. To https://github.com/EideWang/Find-A-Coach.git * [new branch] main -> main Branch 'main' set up to track remote branch 'main' from 'origin'.
常見錯誤處理
! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'https://github.com/EideWang/Find-A-Coach.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
看到上面的錯誤訊息,嘗試使用git pull
PS E:\前端學習\Vue Practice\project-find-a-coach> git pull There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details. git pull <remote> <branch> If you wish to set tracking information for this branch you can do so with: git branch --set-upstream-to=origin/<branch> main
表示本地的main跟Github的main分支之間沒有建立好關係
使用git branch -vv
確認當前各branch的狀況,下面可看出main沒綁遠端repo
PS E:\前端學習\Vue Practice\project-find-a-coach> git branch -vv * main a4d7a2d add a GithubTest file to test push master e6f11a7 Revert "Merge branch 'test'" -m 1
git branch --set-upstream-to=origin/REMOTE_BRANCH LOCAL_BRANCH
PS E:\前端學習\Vue Practice\project-find-a-coach> git branch --set-upstream-to=origin/main main Branch 'main' set up to track remote branch 'main' from 'origin'.
此時再察看一次branch狀態
PS E:\前端學習\Vue Practice\project-find-a-coach> git branch -vv * main a4d7a2d [origin/main: ahead 1, behind 1] add a GithubTest file to test push master e6f11a7 Revert "Merge branch 'test'" -m 1
main有正確的track origin/main了!!
重試一次push發現一樣跳上面的error訊息,所以先git pull
更新本地main branch
PS E:\前端學習\Vue Practice\project-find-a-coach> git push -u origin main To https://github.com/EideWang/Find-A-Coach.git ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'https://github.com/EideWang/Find-A-Coach.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. PS E:\前端學習\Vue Practice\project-find-a-coach> git pull Removing src/version.txt Merge made by the 'recursive' strategy. .gitignore | 2 +- src/components/ui/BaseButton.vue | 73 ++++++++++++++++++++++++++++++++++++++++ src/version.txt | 9 ----- 3 files changed, 74 insertions(+), 10 deletions(-) create mode 100644 src/components/ui/BaseButton.vue delete mode 100644 src/version.txt
pull下來後,tree結構如下
pull成功後,再次push,將GithubTest.txt更新上Github main branch
PS E:\前端學習\Vue Practice\project-find-a-coach> git pull Removing src/version.txt Merge made by the 'recursive' strategy. .gitignore | 2 +- src/components/ui/BaseButton.vue | 73 ++++++++++++++++++++++++++++++++++++++++ src/version.txt | 9 ----- 3 files changed, 74 insertions(+), 10 deletions(-) create mode 100644 src/components/ui/BaseButton.vue delete mode 100644 src/version.txt PS E:\前端學習\Vue Practice\project-find-a-coach> git push -u origin main Enumerating objects: 11, done. Counting objects: 100% (11/11), done. Delta compression using up to 4 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (7/7), 700 bytes | 700.00 KiB/s, done. Total 7 (delta 4), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (4/4), completed with 3 local objects. To https://github.com/EideWang/Find-A-Coach.git 8523b1e..c352baa main -> main Branch 'main' set up to track remote branch 'main' from 'origin'.
至此便完成了Github版本上傳的任務了!👏👏👏