六角學習的筆記git and github

Steven Wang
4 min readJan 30, 2022

--

SourceTree / GUI軟體
https://www.sourcetreeapp.com/

git — version
git config — global user.name “gon”
git config — global user.email “gonsakon@gmail.com”
git config — list 小寫 q 離開

git init
git status
git add .
git commit -m “修改內容”
git log
git clone 數據庫網址
git push origin master

指令架構
工作目錄working directory>add>索引staging area>commit>本地數據庫

Local Repository>push>遠端數據庫Remote Repository
遠端數據庫Remote Repository>clone/fetch>本地數據庫Local Repository
本地數據庫Local Repository>checkout>工作目錄working directory
遠端數據庫Remote Repository>pull>工作目錄working directory

檔案追蹤機制
Untracked >UnModified >Modified >Staged

Untracked 加入檔案 Staged
UnModified編輯檔案Modified
UnModified移除檔案Untracked
Modified 加入索引 Staged
Staged題交UnModified

非常特別的學習網站

git版本控制
github雲端repository

branch
git branch barnchname

HEAD

origin 預設遠端repository

checkout
git checkout master

遠端
git remote add origin master url

git push origin master

git remote

git remote -v (包含遠端url)

git clone url (整個下載)

git pull origin master

branch
git branch name
git barnch
git checkout branch_name
git branch -d branch_name 刪除branch_name
git reset HEAD^ 還原至上一個版本
git reset HEAD^^ 還原至上二個版本

merge
git merge branch_name
git merge branch_name — no-ff 不快轉
git log
git log — online — graph 看線圖
git reset -hard 還原合併前狀態

不同commit point來源 取消快轉
相同來源會快轉 也可以 — no-ff強制不快轉

merge衝突
本地端 遠端

git fetch
git fetch抓下來看看不merge

pull request
沒有修改權限 fork至雲端再至本地
修改push至雲端
申請pull request合併

git rebase
申請新的接頭處

git cherry-pick
摘櫻桃 摘特訂commit point

還原版本
git reset HEAD^
git reset HEAD^ — hard 刪處reset檔案
git relog 找出已刪除的版本SHA1
git reset SHA1 — hard 復原上個版本

還原目前最新版本(不是還原至上個版本)
git reset HEAD

設定的地方

.gitignore

.gitconfig

--

--

Steven Wang
Steven Wang

No responses yet