以下內(nèi)容如有錯(cuò)誤旗国,歡迎指正
基本概念
Git是一個(gè)版本控制系統(tǒng),是一種在本地運(yùn)行的代碼托管系統(tǒng),與我們常知道的github和gitee這類線上代碼托管有所不同扰肌。
Git有工作區(qū),暫存區(qū)以及本地版本庫(kù)的概念熊杨,也可用于連接github和gitee這類遠(yuǎn)程倉(cāng)庫(kù)曙旭,使用Git命令基本上也相當(dāng)于將文件在這四個(gè)區(qū)域轉(zhuǎn)移。
我通過(guò)簡(jiǎn)單的類比來(lái)介紹下這四個(gè)概念:
比如你正在寫(xiě)一篇文章晶府,但是需要寫(xiě)的規(guī)范整潔桂躏,但是防止寫(xiě)錯(cuò)你準(zhǔn)備采用兩張紙,一張是正式寫(xiě)作的紙川陆,另一張是草稿紙剂习,寫(xiě)完后交給老板。老板覺(jué)得你寫(xiě)的不行较沪,需要重新修改鳞绕,于是你得到了新修訂版本,反反復(fù)復(fù)n次以后終于完成了最后的版本尸曼。
為了避免你寫(xiě)的文章丟失或者你想看看下別人的文章于是你進(jìn)網(wǎng)站進(jìn)行上傳和下載文章
工作區(qū)就相當(dāng)于正式寫(xiě)作的紙
暫存區(qū)就相當(dāng)于草稿紙
本地版本庫(kù)就相當(dāng)于你寫(xiě)的所有版本的集合
遠(yuǎn)程倉(cāng)庫(kù)就相當(dāng)于可供任何人上傳下載文章的網(wǎng)站
準(zhǔn)備工作
Git安裝
首先安裝Git(很簡(jiǎn)單不詳細(xì)說(shuō)明了)
安裝完會(huì)有Git Bash,Git CMD ,Git GUI三個(gè)程序
Git Bash需要使用linux命令
Git CMD需要使用windows命令
Git GUI是圖形化界面
Git初始化設(shè)置
我們這里以Git Bash為例:
先進(jìn)行初始化設(shè)置
git config --global user.name #你的用戶名
git config --global user.email #你的郵箱
注意郵箱一定要和遠(yuǎn)程倉(cāng)庫(kù)郵箱匹配们何,用戶名隨意
項(xiàng)目初始化
我創(chuàng)建了一個(gè)名叫test文件夾位于D:/Code/test
輸入:
cd D:/Code/test
然后:
git init
git init用于初始化該項(xiàng)目的本地版本庫(kù),也就是說(shuō)如果有其他項(xiàng)目使用Git也需要重新初始化一次
遠(yuǎn)程倉(cāng)庫(kù)初始化
首先注冊(cè)賬號(hào)github和gitee都可以
遠(yuǎn)程倉(cāng)庫(kù)為確保安全一般需要綁定sshkey
windows使用win+R打開(kāi)cmd
輸入生成命令:
ssh-keygen -t rsa -C "你的郵箱"
找到id_rsa.pub復(fù)制里面的內(nèi)容去網(wǎng)站個(gè)人設(shè)置綁定sshkey
然后網(wǎng)站建立一個(gè)倉(cāng)庫(kù)控轿,復(fù)制結(jié)尾為.git的網(wǎng)址
Git里面輸入
git remote add origin http://xxx.git
git push -u origin master
Git輔助命令
-
查看暫存區(qū)內(nèi)容
git status
-
查看本地版本庫(kù)內(nèi)容
git log
-
Git控制臺(tái)清屏
clear
Git提交和恢復(fù)命令
文件提交
1. 工作區(qū)->暫存區(qū):
- 提交某一個(gè)文件:
git add 文件名
- 提交所有文件:
git add *
2.暫存區(qū)->本地版本庫(kù):
git commit -m "這里是文件修改的描述"
3.本地版本庫(kù)->遠(yuǎn)程倉(cāng)庫(kù):
git push #simple方式
git push origin master #matching方式
文件回退/下載
1.暫存區(qū)回退/清空:
-
回退單個(gè)文件
暫存區(qū)回退
暫存區(qū)->工作區(qū)git restore --staged 文件名
git restore 文件名
-
清空暫存區(qū)
刪除暫存區(qū)指定文件
清空暫存區(qū)所有文件git rm --cached 文件名
rm .git/index
2.本地版本庫(kù)回退
-
回退單個(gè)文件
本地版本庫(kù)->工作區(qū)git restore -s 版本id 文件名
-
回退所有文件
本地版本庫(kù)和暫存區(qū)都回退冤竹,保留工作區(qū)(即暫存區(qū)和本地版本庫(kù)內(nèi)容一致):
只回退本地版本庫(kù),保留工作區(qū)和暫存區(qū)(即暫存區(qū)和工作區(qū)內(nèi)容一致):git reset 版本id
本地版本庫(kù)和工作區(qū)都回退解幽,暫存區(qū)內(nèi)容清空:git reset --soft 版本id
git reset --hard 版本id
3.遠(yuǎn)程倉(cāng)庫(kù)->本地版本庫(kù)
從遠(yuǎn)程倉(cāng)庫(kù)下載到本地版本庫(kù):
git pull #simple方式
git pull origin master #matching方式
從別人遠(yuǎn)程倉(cāng)庫(kù)下載到本地版本庫(kù)
git clone https://xxx.git