這篇就是因為真的很不熟 git 的用法,感覺簡單幾個指令,但是每次要推都得再回去翻教案~
真的記不起來
希望在這裡整理一篇 git 的用法,以後就來看自己整理的筆記就好! 未來也會把每次遇到的相關問題統整在下面,看能累積到多少吧 (笑)
大家是否有經驗,寫到一半發現整個錯了,要回去改不知道從何改起?
但是如果有做版本控制,就跟玩單機版遊戲一樣存檔回到之前的進度讀取檔案進入,就不怕啦~
對於共同協作也是一定要用的! 所以這個真的是必備技能!
git init : 登錄專案
創造一個 .git
的資料夾,保存著版本控制的所有資訊
git add : 登記更動,準備提交
後面加檔案名稱把檔案登記起來 git add index.js
或是 git add .
一次選出路徑內的所有的檔案
git commit : 建立版本節點
在這裡,為了紀錄改動的原因或重點方便日後自己或別人查看,要加上message來提交
message 也可以直接縮寫成 m, git commit --mgit commit --message "change h1 color"
git status : 查看狀態
使用 git status 指令來查看狀態,這個指令會列出程式碼不同的專案
並用顏色區分:
紅色: 檔案程式碼有更動, 但是並未被登記
綠色: 檔案已經登記,但尚未被提交
若已經提交的檔案,就不會出現在這邊囉~
git log : 查看 commit 記錄內容,由新到舊列出commit內容
每個節點都會帶有SHA-1亂數、作者、提交日期、commit message
加上副指令,可以用 git log --oneline,變成列出紀錄 commit 都是簡化成單行呈現
SHA-1碼是亂數40位生成,可以用前7碼來縮寫作使用
另外,我們加上另一個好用的工具 Source Tree 是圖型介面版本的管理工具來做比對
覺得 終端機不太好用的人,可以使用 Source Tree 來管理也可以
git diff : 查看變異內容,比較兩者差異
git diff <SHA-1> <SHA-1>
git diff 1c8cef9 df99a2c
可以從同一張圖看到,我前面也有用 git log --oneline 來查看commit 紀錄
1c8cef9 前的 df99a2c 版本: 我增加了一些文字內容在html,commit "add greetings in different language"
1c8cef9 最新版本,我將這些剛新增的文字增加了顏色
如下圖,他就幫我把有差異的比較內容列出來了~
額外筆記一下 在紀錄裡常出現的 HEAD
HEAD 這個符號代表目前分支裡最新的commit
現在因為預設的分支還是master, 所以可以看到上方的圖片 HEAD 會指向 master
git reset : 重設版本
git rebase : 修改commits的呈現
接下來 ~ 終於要來推上去 github了!
一起利用 git remote 來設定遠端連線,再用 git push 推送分支到遠端
在此之前,我們在 github 先來新增一個 repository
建立之後,會看到這個 repository頁面, github 整理好的三種指令:
(1) 在 github 上直接建立一個全新的repository推上來
(2) 將本地現有的專案推到遠端,這邊也就是github
(3) 是從其他遠端導入 repository
git remote add <name> <url>
git remote add origin https://github.com/Cherylruei/backend_learning.git
first_project https://github.com/Cherylruei/backend_learning.git (fetch)
first_project https://github.com/Cherylruei/backend_learning.git (push)
git remote remove: 刪除遠端儲存庫 git remote remove first_project
git push: 推送分支
git branch -M main
git push -u origin main
修改成
git branch -M main
git push -u first_project main
輸入以後,會跳出畫面要你輸入 github的 username 和 password
我雖然知道 password 被停用了,還是一開始不小心照輸入密碼......
果然跳出下方截圖錯誤
我就直接複製裡面錯誤內容google,就有人說密碼停用,這邊要直接輸入 personal access token,而不是之後還會跳出一個視窗讓你輸入這個 token
前面幾次推送錯誤沒紀錄到,但都是把錯誤內容貼google搜到的,而且很快就能找到答案~
另外小筆記: 忘記怎麼在終端機複製貼上?
git bash copy and paste:
copy: Ctrl + insert
paste: Shift + insert