1舱痘、安裝git
Git是分布式版本控制系統(tǒng)绢涡,所以,每個機(jī)器都必須自報家門
git config --global user.name "xxx"
git config --global user.email "xxx@xxx.com"
2、創(chuàng)建版本庫
將一個目錄設(shè)置為git管理的目錄
git init
3吆鹤、版本管理
文件修改狀態(tài) git status
文件修改內(nèi)容 git diff readme.txt
加入暫存區(qū) git add readne.txt
提交版本 git commit -m "add v1"
4宝泵、版本回退
查看版本修改日志 git log readme.txt
在Git中好啰,用HEAD表示當(dāng)前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一樣)儿奶,上一個版本就是HEAD框往,上上一個版本就是HEAD,當(dāng)然往上100個版本寫100個比較容易數(shù)不過來闯捎,所以寫成HEAD~100
回退上個版本 git reset --hard HEAD^
回退后返回原來版本 git reset --hard 76634b8(版本號椰弊,無需寫全,git自行尋找)
git reflog 可以查看操作命令瓤鼻,以便于處理找不到commitid無法恢復(fù)的情況秉版。
用git diff HEAD -- readme.txt命令可以查看工作區(qū)和版本庫里面最新版本的區(qū)別
5、撤銷修改
命令git checkout -- readme.txt意思就是娱仔,把readme.txt文件在工作區(qū)的修改全部撤銷沐飘,這里有兩種情況:
一種是readme.txt自修改后還沒有被放到暫存區(qū),現(xiàn)在,撤銷修改就回到和版本庫一模一樣的狀態(tài)耐朴;
一種是readme.txt已經(jīng)添加到暫存區(qū)后借卧,又作了修改,現(xiàn)在筛峭,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)铐刘。
總之,就是讓這個文件回到最近一次git commit或git add時的狀態(tài)
6影晓、刪除文件
工作區(qū)刪除文件后镰吵,git status發(fā)現(xiàn)版本庫與工作區(qū)不一致
1、git rm readme.txt/git commit -m "gove readme.txt" 刪除版本庫文件
2挂签、git checkout -- readme.txt 從版本庫恢復(fù)到工作區(qū)
7疤祭、推送到遠(yuǎn)程倉庫
要關(guān)聯(lián)一個遠(yuǎn)程庫,使用命令git remote add origin git@server-name:path/repo-name.git饵婆;
關(guān)聯(lián)后勺馆,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容;
此后侨核,每次本地提交后草穆,只要有必要,就可以使用命令git push origin master推送最新修改搓译;
8悲柱、從遠(yuǎn)程庫克隆
需要知道遠(yuǎn)程庫地址 git clone http://10.100.62.91/chenyuz/vms.git
9、創(chuàng)建和合并分支
創(chuàng)建:git checkout -b lin
切換:git checkout master
刪除:git branch -d dev
合并:git merge lin
10些己、bug分支
修復(fù)bug時豌鸡,我們會通過創(chuàng)建新的bug分支進(jìn)行修復(fù),然后合并段标,最后刪除直颅;
當(dāng)手頭工作沒有完成時,先把工作現(xiàn)場git stash一下怀樟,然后去修復(fù)bug,修復(fù)后盆佣,再git stash pop往堡,回到工作現(xiàn)場
11、分支
分支修改提交后未合并 無法刪除
git branch -D feature-vulcan -D強(qiáng)制刪除
12拉取
git pull origin master
12共耍、拉取合并
git fetch origin master:dev
上面代碼的意思是:從遠(yuǎn)程的origin倉庫的master分支下載到本地master并新建一個temp分支
- 查看temp分支與本地原有分支的不同
git diff dev - 將temp分支和本地的master分支合并
git merge dev