【01 常見Git命令】
#【001】
統一概念:工作區:改動(增刪文件和內容)
暫存區:輸入命令:git add 改動的文件名,此次改動就放到了 ‘暫存區’
本地倉庫(簡稱:本地):輸入命令:git commit 此次修改的描述,此次改動就放到了 ’本地倉庫’,每個 commit,我叫它爲一個 ‘版本’。
遠程倉庫(簡稱:遠程):輸入命令:git push 遠程倉庫,此次改動就放到了 ‘遠程倉庫’(GitHub 等)
commit-id:輸出命令:git log,最上面那行 commit xxxxxx,後面的字符串就是 commit-id
#【002】
#編輯修改等
git show # 顯示某次提交的內容 git show $id
git checkout <file-name> #放棄工作區的修改 ,類似於 svn revert
git revert <commit-id> #以新增一個 commit 的方式還原某一個 commit 的修改
#比較diff
git diff <branch1>..<branch2> # 在兩個分支之間比較
git diff --staged # 比較暫存區和版本庫差異
git diff --cached # 比較暫存區和版本庫差異
git whatchanged --since='2 weeks ago' #查看兩個星期內的改動
git diff --word-diff #詳細展示一行中的修改
#查看提交記錄
git log -p -2 # 查看最近兩次詳細修改內容的diff
git blame <file-name> #查看某段代碼是誰寫的, blame 的意思爲‘責怪’,你懂的。
git reflog #顯示本地更新過 HEAD 的 git 命令記錄 ,類似 shell的 history
git log --all --grep='<given-text>' #在 commit log 中查找相關內容
#Git 本地分支管理
git branch -r # 查看遠程分支
git branch <new_branch> # 創建新的分支
git co <branch> # 切換到某個分支
git co $id # 把某次歷史提交記錄checkout出來,但無分支信息,切換到其他分支會自動刪除
git branch -d <branch> # 刪除某個分支
git branch -vv 展示本地分支關聯遠程倉庫的情況
git merge <branch> # 將branch分支合併到當前分支
#Git暫存管理
git stash # 暫存
git stash list # 列所有stash
git stash apply # 恢復暫存的內容
git stash drop # 刪除暫存區
#Git遠程分支管理
git pull --no-ff # 抓取遠程倉庫所有分支更新併合併到本地,不要快進合併
git push # push所有分支-- 要慎用,還是要push具體的分支好一點 https://www.cnblogs.com/djiankuo/p/6492533.html
git push -u origin develop # 首次將本地develop分支提交到遠程develop分支,並且track
git push origin master # 將本地主分支推到遠程主分支
git push origin dev_20190513_registrationpath #我們的java項目 數據統計的Git push命令
#Git遠程倉庫管理
git remote -v # 查看遠程服務器地址和倉庫名稱
git remote show origin # 查看遠程服務器倉庫狀態
【02 】本地倉庫“三棵樹”
本地倉庫由 git 維護的三棵“樹”組成。
1)【圖01】本地倉庫git 三棵樹
本地倉庫git 三棵樹
2)【圖02】git本地三棵樹的相互轉化命令:https://josh-persistence.iteye.com/blog/2215214
git本地三棵樹的相互轉化命令
3)三棵樹的更詳細的命令示意圖
三棵樹的更詳細的命令示意圖
git commit的時候,只是提交的 緩存區內的內容(如果你git add過,否則也等同你本地工作區內容的提交)
== git add可以實現我之前在 雲主機上保存臨時文件的tmpdjp的操作
==git diff 對比的是工作區和 緩存區的區別
==git diff --cached 對比是 緩衝區和本地的 head版本庫的對比
另外需要指出來的是 git stash 不在上面的“三顆樹”裏,git stash 是暫存區,區別於 緩存區“stage”
git stash的用法見 https://www.cnblogs.com/tocy/p/git-stash-reference.html