介紹
Git 語法筆記,幫自己複習。
Git 介紹
Git 可以把檔案的狀態作為更新歷史記錄保存起來。因此可以把編輯過的檔案復原到以前的狀態,也可以顯示編輯過內容的差異。
數據庫 (Repository)
是記錄檔案或目錄狀態的地方,儲存內容的修改歷史記錄。在數據庫的管理下除了儲存修改歷史記錄外,還可以追蹤內容的狀態和版本喔。
Git 安裝
選擇自己相對作業系統下載。
安裝完成之後再 git 目錄下找到git bash。
1 | git config --global user.name "John Doe" |
ssh
方式連接。
ssh-keygen
生成一個金鑰,產生.ssh
檔包含下圖兩個檔案。
選取.pub
檔案此檔為公鑰,打開Github
進入 personal settings
=> SSH and GPG keys
。
New SSH keys
新增 把.pub
的金鑰複製上去。
Git 操作流程
作者以
windows
系統。
Git 步驟
- 打開
CMD
,快速鍵Win+R
。
- 打開
- 建立資料夾
mkdir foldername
。
- 建立資料夾
- 切換到建立資料夾底下
cd foldername
。
- 切換到建立資料夾底下
- 初始
git init
。
- 初始
- 建立文字檔
cd .>a.txt
。
- 建立文字檔
git status
查看git
狀態,如下圖。
git add a.txt
,git status
查看,如下圖。
提示:git add .
把檔案一次添加進去。
echo 789>>a.txt
新增內容在文字檔需再次git add a.txt
git commit -m "first commit"
push 上去的文字標記,-m
不啟用文字編輯器。
- 到
github
建立Repository,如下圖。
- 到
git branch -M master
建立branch
名稱master
。
git remote add origin https://github.com/tady0725/gitdemo.git
,連接到Repository ,origin為倉儲節點名稱。
git push -u origin master
把檔案推至倉儲,-u 設定 upstream
,在 Git 裡面每一個分支可以設定一個「上游」,完成如下圖。
Git 其他指令
git checkout
更改branch,commit。git log
查看狀態commit,訊息包含作者名稱時間。git log --oneline
簡短查看狀態commit,訊息包含作者名稱時間。git diff
版本控制專案找出差異。git merge
合併版本。git pull
拉下Repository最新進度。git reset -- file_name
把 add 修改,也就是 staged 狀態改變。git reset --soft HEAD~1
# 數字表示移動到 HEAD 後面第幾個
git Merge 使用
當一個專案,A,B,C 三位同步進行開發,Repository中master中內容僅有基底(例如首頁),不過
專案同步在進行中,A 負責一個功能,BC 同上,這樣就會有三種功能,不過此時 A,B,C 都僅是發展在自己線路上,最後要合在branch master也就是主線上,A,B,C 都master的分支,當各自完成最後再結合到主線。
1 | git merge branch_name |
git conflicts(衝突)
當一個專案,A,B 兩位進行開發,當 A 去修改首頁檔(index.html),但 B 不知道也去修改首頁檔,
A 先修改完,進行commit上去,此時沒問題,B 在本地端進行也並不知道 A 已經進行修改(所以 B 用git log
查看並不會發現因為未更新),B 修改後也進行commit,問題就來了產生conflicts,A 抓下來時假設commit 穩定版,A 修改完最新commit 277 行 bug 修正,B 抓下來時看到commit 穩定版,B 修改完最新commit 300 行 bug 修正,目前commit應該為(新到舊)300 行 bug 修正 => 277 行 bug 修正 => 穩定版 ,在 B 未更新所以看commit是舊的這造成commit錯亂就是conflicts,此時需手動修整,確認更新檔案內容。
1 | /*操作者為B*/ |
參考網站
如果您喜歡我的文章,請幫我按五下 ,感謝大家。