說明
git 這個工具很好用,命令較多,初次學習不是很容易理解上手.理解其原理之后對于各種命令就會輕松駕馭.
之前都是master 分支用到底.從新整理下學習下 git 還是很有必要的
幾張原理輕松幫助理解 git
commit和分支的理解
每一個 commit 都是對所有文件的快照,一個分支從物理組成上由工作區(qū)和暫存區(qū)和版本區(qū)構成.分支可以理解為一個對象,它可以繼承.
git checkout -b dev 創(chuàng)建了一個叫 dev 的分支,這個分支可以理解為繼承自 master 分支(每個倉庫在初始化時候默認有一個叫 master 的分支) dev 引用的是 master 分支內容.
1.創(chuàng)建用戶
git config --global user.name "maker" #設置用戶名
git config --global user.email "806160921@qq.com" #設置用戶郵箱
git config user.name #查看用戶名
git config user.email #查看用戶郵箱
2.創(chuàng)建一個版本庫
git init #初始化版本庫
3.查看文件狀態(tài)
git status #查看文件狀態(tài)
4.加入版本控制中
git add fileName #添加文件
git add . #把當前文件夾下所有文件添加到版本控制中
5.提交到本地倉庫中
git commit -m "commit1"
git commit -a -m "commit2" #使用在被修改的文件之前被 git管理過
git commit —amend #覆蓋上一個commit
6.查看提交日志
git log #查看提交的所有日志
git log --oneline #單行顯示日志
git reflog #回滾到之前狀態(tài)后查看將來的日志
git log --oneline --graph #縮略顯示,并展示分支
7.顯示文件的不同
git diff #工作區(qū)和緩存區(qū)的文件區(qū)別
git diff --cached #緩存區(qū)和最后一次版本區(qū)的區(qū)別
git diff --cached [版本1] 文件A #文件A在緩存中和版本1的不同
git diff 版本1 版本2 文件A #文件A 在版本1與 版本2的不同
8.影響工作區(qū)的操作
git checkout . #從緩存區(qū)或者版本區(qū)拉取數(shù)據(jù)
git checkout branchA #切換分支A 下的工作區(qū)
git checkout HEAD . #直接從當前版本庫到工作區(qū)
git merge branchA #合并分支A
git pull #等同git fetch + git merge
git reset --hard 版本號 #切換版本號
9.回退到制定版本
git reset --hard 版本號 #回退到制定版本
git reset --hard HEAD~2 #切換到上上個版本
10.分支
git branch #查看所有分支
git branch -v #查看所有分支詳情
git branch dev #創(chuàng)建 dev 分支
git checkout dev #切換到 dev 分支
git checkout -b dev #創(chuàng)建 dev 分支并切換到 dev 分支
git branch -d dev #刪除 dev 分支(此時指針不在 dev 分支上才能執(zhí)行次操作)
git merge branchA #分支A合并到當前分支上來
git pull #git fetch + git merge