三個工做區:工做區,使用git add ,將代碼臨時存儲在暫存區;而後用git commit -m "comment"提交到本地庫git
工做區(work directory)github
暫存區算法
版本庫(本地)bash
遠程庫 ssh
本地庫初始化:git init測試
本地庫的簽名:區別不一樣的開發人員,這個是本地庫的身份。fetch
git config user.name your_name加密
git config user.email your_email 對當前工做目錄有效spa
加 --global 系統用戶級別指針
三個工做區的轉化
git add :將工做區的內容提交到暫存區
git commit -m 'comment ':暫存區的內容提交到本地庫
查看本地庫的提交歷史:git log/reflog,其中空格向下翻頁,b向上翻頁,q推出。git log --pretty==oneline,一次提交一行顯示;git log --oneline,只顯示索引值的前7位,
查看工做區和暫存區的狀態:git status
版本的回退
git reset --hard 局部索引值
git reset --hard HEAD^:一個^表示後退一步,n個表示後退n步
git reset --hard HEAD~n:表示後退n步
reset命令的三個參數對比
--soft參數:僅僅是在本地庫移動HEAD指針
--mixed參數:在本地庫移動HEAD指針,重置暫存區
--hard參數:在本地庫移動HEAD指針,重置暫存區,重置工做區
比較文件差別
git diff [文件名]:將工做區的文件和暫存區進行比較
git diff [本地庫中歷史版本] [文件名]:將工做區的文件和本地庫歷史記錄版本比較
建立分支:git branch 分支名
分支建立的其餘方法
git switch -c branch_name
git switch branch_name
查看當前的分支
git branch -v :查看分支
git branch
*master (表示是當前的分支)
branch_name
切換分支:git checkout branch_name
融合分支:
第一步:切換到接受修改的分支(被合併,增長新內容)上,git checkout [被合併分支名]
第二步:git merge [有新內容分支名]
分支衝突解決
編輯文件,刪除特殊符號
把文件修改到滿意的程度,保存退出
git add 文件名
git commit -m "日誌信息"
刪除分支:git branch -d branch_name
哈希是一些列加密算法,數據加密等到一個加密結果,其長度固定;若是數據變化,其加密結果必定變化,通常變化很大。
git是將數據看作小型文件系統的一組快照,每次更新都會對當前的所有文件作一個快照並保存這個快照的索引。
建立遠程庫地址別名
git remote -v :查看當前全部遠程地址別名
git remote add 別名 遠程地址
git push 別名 分支名
git clone 遠程地址:將遠程庫下載到本地,並初始化本地庫。
pull等於fetch加merge
git fetch 遠程庫別名 遠程分支名
git merge 遠程庫別名 遠程分支名
git pull 遠程庫別名 遠程分支名
進入當前用戶的家目錄:cd ~
刪除.ssh目錄:rm -rvf .ssh
運行命令生成.ssh密鑰目錄:ssh-keygen -t rsa -C email
進入.ssh目錄查看文件列表
cd .ssh
ls -lf
查看id_rsa.pub文件內容:cat id_rsa.pub
複製id_rsa.pub文件內容,登陸github,點擊頭像-settings-ssh and gpg keys
new ssh key
輸入複製的密鑰信息
回到git bash 建立遠程地址別名
git add 別名 遠程庫地址
推送文件進行測試