Git版本控制
《GitHub入門與實踐》筆記
推薦Git練習網站:LearnGitBranching
初次使用時,使用下列命令設定資訊
git config --global user.name "" git config --global user.email ""
然後在~/.gitconfig
中會儲存資訊,下次修改可以直接修改檔案
與github建立連線
先生成ssh金鑰:
ssh-keygen -t rsa -C "email"
按程式執行完後會生成id_rsa檔案為私有金鑰,id_rsa.pub為公開金鑰。
在github設定中找到Add SSH Key後,在其中輸入id_rsa.pub中的內容。
然後可以測試是否連結成功。
ssh -T [email protected]
倉庫操作
初始化倉庫,選擇資料夾:
git init
以下為常用指令:
git status --- 檢視倉庫狀態 git add file.xxx --- 新增新檔案進入暫存區 git commit -m "description" --- 提交 git push --- 將更新上傳至github倉庫
檢視日誌git log
:
git log --- 顯示提交的歷史記錄 git log --pretty=short --- 顯示一行 git log -p --- 顯示提交帶來的改動 git log -p filename --- 檢視檔案的提交日誌和改動 git log --graph --- 以圖表的形式檢視分支
比較檔案git diff
:
使用git diff
指令可以檢視當前工作樹與暫存區的區別。在commit一次記錄前要記得使用
git diff HEAD
來檢視前後的改動, 其中HEAD為當前分支中最新一次提交的指標
分支操作
git branch --- 檢視分支列表 git branch xxx --- 建立新分支
分支切換:
git checkout -b xxx --- 建立新分支並切換到該分支 git checkout xxx --- 切換分支 git checkout - --- 切換到上一個分支
合併分支:
git checkout master --- 先切換會主分支 git merge --no-ff xxx --- 合併分支並提交合並記錄
回溯歷史版本
回溯命令為:
git reset --hard (回溯時間點的雜湊值)
注意:git log
命令只能檢視以當前狀態為終點的歷史日誌
所以,若想回到原來狀態則需使用git reflog
命令檢視倉庫的操作日誌,找出之前時間點的雜湊值,再回復回去。
壓縮歷史記錄
有時剛提交完記錄就發現自己有些許拼寫錯誤,修改後又再次提交,這樣就會有兩個同版本的歷史記錄,這時可以將兩條歷史記錄壓縮為一條:
git rebase -i HEAD~2
HEAD~2為最新提交的兩條記錄
遠端倉庫操作
在github中先建立一個新的空倉庫,然後使用命令:
git remote add (識別符號:預設為origin) (倉庫地址)
然後進行推送:
git push -u (origin) master