git小結-ms

目錄php

一、git是什麼python

二、git怎麼工做的git

三、git經常使用命令github

四、git提效工具緩存

五、git的技術用語服務器

 

 

 


 

 

一、git是什麼框架

git是開源的分佈式的版本控制系統,能夠有效、高速地處理的項目版本管理。
git中存儲是變動信息,而不是整個文件。ssh

總結git的兩大特色:分佈式

版本控制:能夠解決多人同時開發的代碼問題,也能夠解決單人開發時找回歷史代碼的問題。
分佈式:多臺機器互爲備份,同一個Git倉庫,能夠分佈到不一樣的機器上。能夠本身搭建這臺服務器,也可使用GitHub網站、gitee網站(屬於osChina)、coding網站。

 

二、git怎麼工做的工具

git的工做原理如圖所示

 

 

 

三、git經常使用命令

命令和操做大全
部署git和git經常使用命令
一、建立公鑰(3次Enter)
ssh-keygen -t rsa -C   git@gitee.com:andy9468/ttsx_sz3.git
錯誤處理
eval "$(ssh-agent -s)"
ssh-add
 
二、克隆
git clone git@gitee.com:andy9468/ttsx_sz3.git
 
三、查看全部分支
git branch
 
四、建立dev分支(建立分支會克隆當前分支的開發進度和狀態)
git branch dev
 
五、刪除分支(刪除分支前,先切換到其餘分支)
git checkout itcast1
git branch -d itcast22
 
六、將本地的當前分支推送到遠程
git push origin dev
 
七、跟蹤分支
做用是:使得本地的dev被用於跟蹤(就是和遠程的dev對比)
執行本命令前,須要向執行6,即把本地dev推送到遠端dev
git branch --set-upstream-to=origin/dev dev
 
八、建立並切換到新分支
git checkout -b itcast1
小結:
(1)檢查當前分支和遠程分支的版本提交落後關係。
git checkout
(2)切換到分支itcast2
git checkout itcast2
(3)建立並切換到新分支
git checkout -b itcast1
 
九、將遠程dev分支同步到本地(本地不須要本身新建dev2分支)
git checkout -b dev2 origin/dev
將遠程itcast1同步到本地(本地不須要本身新建itcast1分支)
git checkout -b itcast1 origin/itcast1
 
十、被跟蹤的dev還能夠用pull同步到本地(先本地新建dev分支)
git checkout -b dev
git pull
 
本地已經有dev分支和項目文件時,同步到本地的命令過程:
git checkout dev
git pull origin dev
git reflog
git reset 10e2148
git checkout -- .
 
 
十一、查看工做區、緩衝區的被修改但還未提交(git commit)的文件
git status
或者(簡要輸出)
git status -s
 
十二、添加到緩衝區(完成一個文件,git add 一下)
git add .
 
1三、提交到本地版本庫(完成一個業務邏輯,git commit一下)
git commit -m '部署框架'
若是沒有新建的文件。能夠不單獨add,一次性提交:-a -m
git commit -a -m "Changed some files"
千萬注意,-a不會形成新文件被提交,只能修改。
 
1四、將本地版本庫推送到遠程服務器(服務器至關於U盤)
就是將本地分支推送到服務器
git push origin itcast1
 
1五、將分支itcast1合併到公共分支dev
git checkout dev
git merge itcast1
git push origin dev
 
常見的合併過程
(1)合併分支(第一我的的合併):
git status
git checkout dev
git merge itcast1
git push origin dev
 
(2)第二我的開始合併分支前,須要先下載第一我的合併分支後,推到遠程的dev分支
git checkout dev
git pull
git merge itcast2
 
(3)這步後,若是產生衝突,找寫代碼的人商量,決定怎麼刪留改。
處理bug,最好創建一個bug001分支(從須要改bug的分支,建立並切換到bug001分支)
git checkout dev
git checkout -b bug001
 
 
(4)修改處理bug,併合並,推送
1)在分支bug001下,改好後:提交本地
git add ./
git commit -m '解決衝突01'
 
2)並開始合併分支
git checkout dev
git pull
git merge --no-ff -m '解決衝突01' bug001
說明:
合併分支默認是引用合併(fast-forward),若是是把分支bug001合併到分支dev,就須要深拷貝合併(no-ff)。不然,刪除bug001後就沒辦法引用了。
 
3)刪除分支bug001
git branch -d bug001
 
4)推送分支dev到服務器
git push origin dev
 
(5)小技巧:將合併好的dev版本再合併給itcast2,推送到服務器
git checkout itcast2
git merge dev
git push origin itcast2
 
 
 
1六、查看日誌(歷史記錄)
(1)完整的日誌(commit後,而且push的記錄)
git log(宏觀。更適合克隆後,查看本地的遠程項目的提交記錄)
(2)簡介版日誌(只有本地commit後的記錄,能夠看到版本號)
git reflog(微觀。更適合本地,強烈推薦)
 
1七、日誌的2個做用
(1)對比兩個版本的差別:git diff
1)比較最近(當前已commit)版本和工做區的差別
git diff HEAD -- ttsx/ttsx/urls.py
2)對比最近版本和上一次版本的差別
git diff HEAD HEAD^ -- ttsx/ttsx/urls.py
3)對比上一次版本和最近版本的差別
git diff HEAD^ HEAD -- ttsx/ttsx/urls.py
4)對比兩個版本的差異(HEAD表示最近提交的版本,7c56139另外一個版本)
git diff HEAD 7c56139 -- ttsx/ttsx/urls.py
 
拓展:
一、查看工做區的變更
還沒有緩存的改動:
git diff
 
二、查看緩衝區的變更
查看已緩存的改動:
git diff --cached
 
三、查看工做區、緩衝區的變更(至關於git status)
查看已緩存的與未緩存的全部改動:
git diff HEAD
 
四、顯示變更摘要
顯示摘要而非整個
git diff --stat
 
小結:git status(強烈推薦git status)、git diff 
git status  顯示新建、修改、刪除,
git diff      只顯示修改,一行一行地顯示這些改動具體是啥。
 
 
 
(2)回退到之前版本:git reset 8042a87
git reflog
git reset 8042a87
git status
git checkout -- ttsx/ttsx/urls.py
 
1八、歷史版本,從倉庫恢復到暫存區
git reset HEAD(或者版本號8042a87)
從暫存區恢復到工做區
git checkout -- 文件名
 
1九、保存現場(不想提交修改,可是必須切換到其它分支去解決bug時用)
git stash
 
20、恢復現場(bug修復後,回到之前的分支,並恢復現場)
git checkout itcast1
git stash pop
 
2一、配置
查看git全部配置信息  
git config --list
或者:查看某一個變量的值,
git config user.name
拓展:
配置用戶信息,Ubuntu家目錄python文件夾下
vi .gitconfig
 
 
2二、git rm
git rm 會將條目從緩存區中移除。這與 git reset HEAD 將條目取消緩存是有區別的。 "取消緩存"的意思就是將緩存區恢復爲咱們作出修改以前的樣子。
默認狀況下,git rm file 會將文件從緩存區和你的硬盤中(工做目錄)刪除。
若是你要在工做目錄中留着該文件,可使用 git rm --cached:
如咱們刪除 hello.php文件:
git rm hello.php
不從工做區中刪除文件:
git rm --cached README

四、git提效工具

git有一個實用的圖像管理工具sourcetree。

圖形操做,代碼差別、分支狀況、文件增刪,直觀易懂。

 

五、git的技術用語
(1)分支
各自的分支:一個開發人員一個分支,互不衝突。一個分支至關於一輛車的專屬跑道。
dev公共分支:成員合併的分支,用於階段性合併代碼。
master主分支:發佈版本的分支。
 
(2)工做區、版本庫、服務器
工做區、版本庫(包括暫存區和倉庫區)、服務器(如:github、gitee、自搭建)
1)工做區:本地全部文件(除了.git)
2)版本庫:.git
3)服務器:至關於共用U盤

 

 

查看工做區改動,git diff
查看暫存區改動,git diff --cached
相關文章
相關標籤/搜索