重點:Git的使用

【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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章