0x01
首先昔头,在自己本地git版本控制的那個(gè)文件夾里伊群,所謂的版本庫是什么考杉?
文件夾中的.git/策精,就是版本庫。
這個(gè)版本庫里面包含了一些什么呢崇棠?
- HEAD指針
- 暫存庫(stage)
-
master分支
這里就可以很科學(xué)的解釋咽袜,文件修改后提交到版本庫,為什么有add和commit兩個(gè)步驟了枕稀。
add: 把文件從你本地询刹,加入到暫存庫中
commit: 把暫存庫中的所有文件,提交到master分支中
0x02
其實(shí)萎坷,通過記錄1中的幾個(gè)簡單命令凹联,對于查看版本狀態(tài)已經(jīng)完全夠用了。剩下的就是哆档,管理修改蔽挠,撤銷修改什么的。
場景1:當(dāng)你改亂了工作區(qū)某個(gè)文件的內(nèi)容瓜浸,想直接丟棄工作區(qū)的修改時(shí)象泵,用命令git checkout -- file。
場景2:當(dāng)你不但改亂了工作區(qū)某個(gè)文件的內(nèi)容斟叼,還添加到了暫存區(qū)時(shí),想丟棄修改春寿,分兩步朗涩,第一步用命令git reset HEAD file,就回到了場景1绑改,第二步按場景1操作谢床。
想要記錄的其實(shí)是刪除文件。
畢竟增刪改查厘线,it四大件對吧哈哈哈识腿。
刪除,一般在系統(tǒng)里面造壮,就是rm命令了渡讼。
- 在本地的工作區(qū),通過rm命令刪除文件
- 確定要?jiǎng)h除這個(gè)文件耳璧,使用 git rm filename命令成箫,從版本庫刪除該文件
- rm和add一樣,做了什么事情旨枯,都得commit一下蹬昌,匯報(bào)上級領(lǐng)導(dǎo)
git commit -m "delete a file"
0x03
ssh配置
- 先在本機(jī)的主目錄下面找找看有沒有.ssh/這個(gè)文件夾;
- 如果有攀隔,查看這個(gè)文件夾中是否有id_rsa和id_rsa.pub這兩個(gè)文件
- 如果沒有的話皂贩,執(zhí)行以下命令:
$ ssh-keygen -t rsa -C "youremail@email.com"
- 登陸你的Github栖榨,點(diǎn)擊右上角頭像,點(diǎn)擊進(jìn)入settings-->SSH and GPG keys明刷。
在ssh keys里新增一個(gè)key婴栽,將你的id_rsa.pub文件中內(nèi)容拷貝過去
然后你在本機(jī)上執(zhí)行
$ ssh -T git@github.com
如果你能看到你自己的用戶名,說明配置成功
ssh提交
- 在Github頁面上新建一個(gè)Repository遮精,剛新建是一個(gè)空項(xiàng)目
- 在本地你準(zhǔn)備提交到Github上的工作區(qū)執(zhí)行命令:
$ git remote add origin git@github.com:yourusername/learngit.git
- 執(zhí)行了2中的命令后居夹,再將本地代碼文件推送到Github上:
$ git push -u origin master
首先,push顧名思義本冲;origin是遠(yuǎn)程庫的名字准脂,不用改;master指的是分支,將文件是推送到master分支上的
現(xiàn)在你打開你的Github web頁面檬洞,看到這個(gè)新建的倉庫狸膏,跟你本地工作區(qū)內(nèi)容就一致了!
ssh clone
簡單的說就是怎么把Github頁面上的項(xiàng)目搞到本地工作區(qū)來添怔。
$ git clone git@github.com:yourusername/yourrepo.git
執(zhí)行clone命令湾戳,本地工作區(qū)就會有一個(gè)跟你Github頁面上完全一樣的倉庫了