1)本地初始化:生成.git目錄,不要輕易修改 命令:git init 2)設置簽名:區分不一樣開發人員的身份,這裏設置的簽名和登陸遠程庫(代碼中心)的帳號、密碼沒有任何關係; * 項目級別/倉庫級別:僅在當前本地庫範圍有效 命令: git config user.name admin git config user.email admin@admin.com 信息保存的位置:.git/config文件中 * 系統用戶級別:登陸當前操做系統的用戶範圍 命令: git config --global user.name admin git config --global user.email admin@admin.com 信息保存的位置:~/.gitconfig文件中 * 級別優先級: (1)就近原則:項目級別優先於系統用戶級別,兩者都存在時採用項目級別的簽名; (2)若是隻有系統用戶級別的簽名,就以系統用戶級別的簽名爲準; (3)兩者若是都不存在,在之後操做中會頻繁的報錯;
git status #查看工做區及暫存區的狀態 git add 123.txt #將工做區的文件提交到暫存區(能夠針對單個文件,也可以使用」.「表示當前目錄全部文件) git rm --cached 123.txt #將暫存區的文件撤回,從新放到工做區中 git commit -m "first commit 123.txt" #將暫存區的內容提交到本地庫 (-m描述信息,加文件名和不加文件名同樣)
git log #查看以前的提交的日誌信息 git log --pretty=oneline #查看以前的提交的日誌信息(以一行的方式顯示) git log --oneline #查看以前的提交的日誌信息(以更簡潔的方式進行顯示) git reflog #顯示全部的歷史記錄的HEAD指針
1)基於索引值操做(推薦使用)git
git reset --hard d67b2ca #--hard後是git reflog命令查詢出的索引值
2)使用^符號(只能後退)github
git reset --hard HEAD^ #後退一個版本(^一個表示回退一個版本)
3)使用~符號(只能後退)緩存
git reset --hard HEAD~n #n表示後退幾步
前提:刪除前,文件存在時的狀態提交到了本地庫;
操做:app
git reset --hard [指針位置]
1)刪除操做已經提交到本地庫:指針位置指向歷史記錄;
2)刪除操做還沒有提交到本地庫:指針位置使用HEAD;ide
git diff [文件名] #將工做區中的文件和緩存區進行比較 git diff [本地庫中歷史版本] [文件名] #將工做區中的文件和本地庫歷史記錄進行比較 git diff [本地庫中歷史版本] #將工做區中全部文件和本地庫進行比較
git branch [分支名稱] #建立分支 git branch -v #查看全部分支,"*"號表示當前所在分支(-v選項不加也行) git checkout [分支名稱] #切換分支 git checkout -b [分支名稱] #建立分支並切換分支 git merge [被合併的分支名] #快速合併分支(前提是不能在被合併的分支上) git branch -d [分支名稱] #刪除指定分支 git branch -D [分支名稱] #強制刪除指定分支 git stash #將當前版本庫的狀態臨時存儲 git stash pop #恢復並刪除臨時存儲的信息 git stash apply #恢復臨時存儲的信息,可是不刪除信息 git stash drop #刪除臨時存儲的信息 git stash show #查看臨時存儲的信息 git remote add origin https://github.com/lvzhenjiang-hub/test.git #將遠程倉庫的地址起個別名,名稱爲origin git remote #查看當前版本庫是否屬於遠程版本庫 git remote -v #查看詳細信息 git push origin master #將本地的master分支推送到遠程倉庫 git checkout -b dev origin/dev #建立本地dev分支而且關聯到遠程倉庫的dev分支 git fetch origin master #從遠程倉庫下載到本地 git merge origin/master #將遠程分支進行合併 git pull origiin master #將遠程倉庫的master分支下載到本地,併合並,主要用於解決衝突 git branch --set-upstream-to=origin/dev dev 將本地的dev分支關聯到遠程倉庫的dev分支 git branch -r -d origin/dev 刪除指定遠程的dev分支 git push origin :dev 將刪除的遠程分支提交到遠程版本庫中