Git是1個散布式的版本控制工具。版本控制主要解決的問題有:
在Git官網(wǎng)下載window版本。官方下載網(wǎng)址為:Git Window版本下載
//填寫自己的用戶名
git config --global user.name "wpx"
//填寫自己的1個郵箱,注意這個郵箱,以后鏈接遠程庫會需要
git config --global user.email "260129327@qq.com"
E:\mygit
)//意味著,mygit文件夾,允許git控制
git init
//將readme.txt文件長傳到暫存區(qū),注意:文件名有引號
git add "readme.txt"
//將暫存區(qū)的的文件轉(zhuǎn)移到版本庫(只是把暫存區(qū)的文件轉(zhuǎn)移到版本庫)
git commit -m "add a file"
//查看git倉庫的狀態(tài)
git status
//回退到某1個版本
git reset --hard HEAD~index
//假定回退到(上1個)版本
git reset --hard HEAD~1
commit id
(版本號)回退版本//通過日志查看版本記錄
git log
//通過版本號回退(commit_id是具體的id號)
git reset --hard commit_id
//注意:沒有提交到暫存區(qū)。如果提交到暫存區(qū)就不能用這個命令(注意文件名沒有引號)
//讓這個文件回到最近1次git commit或git add時的狀態(tài)
git checkout -- readme.txt
//將版本庫的文件拿到工作區(qū),同時清空暫存區(qū)(注意此時:文件名沒有引號)
git reset HEAD readme.txt
//刪除本地文件
rm readme.txt
//刪除版本庫文件
git rm readme.txt
//提交改變
git commit -m "delete file"
//創(chuàng)建1個分支叫做dev
git branch dev
//切換到dev分支
git checkout dev
//或:
// 創(chuàng)建并切換到dev分支
git checkout -b dev
git branch
//注意此命令是在master分支上運行,也就是master合并dev分支(不帶參數(shù)代表是快速合并以下圖所示),只是HEAD指針產(chǎn)生改變了
git merge dev
git branch -d dev
//-m 是輸入日志信息(可以不寫)
git merge --no-ff -m "merge with no-ff" dev
當我們的分支有沖突時,履行git merge dev
出現(xiàn)下面毛病,同時文件變成了:
在這里使用OSChina的git倉庫。OSChina的Git倉庫可以創(chuàng)建私有項目。
//后面的字符串寫自己的郵箱(其實可以隨意寫)
ssh-keygen -t rsa -C "260129327@qq.com"
C:\Users\wpx
)注意:此時文件夾下面有兩個文件id_rsa.pub
文件的內(nèi)容拷貝到oschina(如圖所示)添加公鑰內(nèi)容:
成功:
//注意: 1.后面的地址寫你剛剛創(chuàng)建的倉庫地址
// 2.僅僅將遠程的master分支克隆到本地
// 3.遠程的分支默許名稱為origin
git clone git@git.oschina.net:alrmm/mygit.git
第1次使用git遠程倉庫時,記得這里1定要寫yes(不要不寫!!!)
選擇yes以后.ssh
文件夾變成了3個文件
//如果項目沒有和遠程倉庫關聯(lián),先和遠程倉庫關聯(lián)
//origin是遠程倉庫的名稱(其實可以隨意寫,就是1個代號)
git remote add origin git@git.oschina.net:alrmm/mygit.git
//將項目推送到遠程(origin要和關聯(lián)倉庫的名稱對象,-u代表既推送分支,也關聯(lián)分支,可以簡化命令,1般是第1次推送)
git push -u origin master
//第2次推送可以這樣(將本地的對應分支推送到遠程)
//
git push
//注意:
// 1 如果是個人開發(fā),不存在沖突,可以直接pull
git pull git@git.oschina.net:alrmm/mygit.git
fork
命令//將遠程的dev分支拷貝到本地的dev分支
git checkout -b dev origin/dev
git push origin dev
在本篇博客中主要介紹了: