轉載至Java團長微信公衆號git
一、初始化倉庫github
git init
二、將文件添加到倉庫緩存
git add 文件名 # 將工做區的某個文件添加到暫存區
git add -u # 添加全部被tracked文件中被修改或刪除的文件信息到暫存區,不處理untracked的文件
git add -A # 添加全部被tracked文件中被修改或刪除的文件信息到暫存區,包括untracked的文件
git add . # 將當前工做區的全部文件都加入暫存區
git add -i # 進入交互界面模式,按需添加文件到緩存區
三、將暫存區文件提交到本地倉庫安全
git commit -m "提交說明" # 將暫存區內容提交到本地倉庫
git commit -a -m "提交說明" # 跳過緩存區操做,直接把工做區內容提交到本地倉庫
四、查看倉庫當前狀態微信
git status
五、比較文件異同fetch
git diff # 工做區與暫存區的差別
git diff 分支名 #工做區與某分支的差別,遠程分支這樣寫:remotes/origin/分支名
git diff HEAD # 工做區與HEAD指針指向的內容差別
git diff 提交id 文件路徑 # 工做區某文件當前版本與歷史版本的差別
git diff --stage # 工做區文件與上次提交的差別(1.6 版本前用 --cached)
git diff 版本TAG # 查看從某個版本後都改動內容
git diff 分支A 分支B # 比較從分支A和分支B的差別(也支持比較兩個TAG)
git diff 分支A...分支B # 比較兩分支在分開後各自的改動
# 另外:若是隻想統計哪些文件被改動,多少行被改動,能夠添加 --stat 參數
六、查看歷史記錄ui
git log # 查看全部commit記錄(SHA-A校驗和,做者名稱,郵箱,提交時間,提交說明)
git log -p -次數 # 查看最近多少次的提交記錄
git log --stat # 簡略顯示每次提交的內容更改
git log --name-only # 僅顯示已修改的文件清單
git log --name-status # 顯示新增,修改,刪除的文件清單
git log --oneline # 讓提交記錄以精簡的一行輸出
git log –graph –all --online # 圖形展現分支的合併歷史
git log --author=做者 # 查詢做者的提交記錄(和grep同時使用要加一個--all--match參數)
git log --grep=過濾信息 # 列出提交信息中包含過濾信息的提交記錄
git log -S查詢內容 # 和--grep相似,S和查詢內容間沒有空格
git log fileName # 查看某文件的修改記錄,找背鍋專用
七、代碼回滾spa
git reset HEAD^ # 恢復成上次提交的版本
git reset HEAD^^ # 恢復成上上次提交的版本,就是多個^,以此類推或用~次數
git reflog
git reset --hard 版本號
--soft:只是改變HEAD指針指向,緩存區和工做區不變;
--mixed:修改HEAD指針指向,暫存區內容丟失,工做區不變;
--hard:修改HEAD指針指向,暫存區內容丟失,工做區恢復之前狀態;
八、同步遠程倉庫指針
git push -u origin master
九、刪除版本庫文件code
git rm 文件名
十、版本庫裏的版本替換工做區的版本
git checkout -- test.txt
十一、本地倉庫內容推送到遠程倉庫
git remote add origin git@github.com:賬號名/倉庫名.git
十二、從遠程倉庫克隆項目到本地
git clone git@github.com:git賬號名/倉庫名.git
1三、建立分支
git checkout -b dev
-b表示建立並切換分支
上面一條命令至關於一面的二條:
git branch dev //建立分支
git checkout dev //切換分支
1四、查看分支
git branch
1五、合併分支
git merge dev
//用於合併指定分支到當前分支
git merge --no-ff -m "merge with no-ff" dev
//加上--no-ff參數就能夠用普通模式合併,合併後的歷史有分支,能看出來曾經作過合併
1六、刪除分支
git branch -d dev
1七、查看分支合併圖
git log --graph --pretty=oneline --abbrev-commit
1八、查看遠程庫信息
git remote
// -v 顯示更詳細的信息
1九、git相關配置
# 安裝完Git後第一件要作的事,設置用戶信息(global可換成local在單獨項目生效):
git config --global user.name "用戶名" # 設置用戶名
git config --global user.email "用戶郵箱" #設置郵箱
git config --global user.name # 查看用戶名是否配置成功
git config --global user.email # 查看郵箱是否配置
# 其餘查看配置相關
git config --global --list # 查看全局設置相關參數列表
git config --local --list # 查看本地設置相關參數列表
git config --system --list # 查看系統配置參數列表
git config --list # 查看全部Git的配置(全局+本地+系統)
git config --global color.ui true //顯示git相關顏色
20、撤消某次提交
git revert HEAD # 撤銷最近的一個提交
git revert 版本號 # 撤銷某次commit
2一、拉取遠程分支到本地倉庫
git checkout -b 本地分支 遠程分支 # 會在本地新建分支,並自動切換到該分支
git fetch origin 遠程分支:本地分支 # 會在本地新建分支,但不會自動切換,還需checkout
git branch --set-upstream 本地分支 遠程分支 # 創建本地分支與遠程分支的連接
2二、標籤命令
git tag 標籤 //打標籤命令,默認爲HEAD
git tag //顯示全部標籤
git tag 標籤 �版本號 //給某個commit版本添加標籤
git show 標籤 //顯示某個標籤的詳細信息
2三、同步遠程倉庫更新
git fetch origin master //從遠程獲取最新的到本地,首先從遠程的origin的master主分支下載最新的版本到origin/master分支上,而後比較本地的master分支和origin/master分支的差異,最後進行合併。git fetch比git pull更加安全