推薦閱讀
智能化校園:深入探討云端管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(一)
智能化校園:深入探討云端管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(二)
Git
初識(shí)Git
Git(讀音為/g?t/) 是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項(xiàng)目版本管理。
git是世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒(méi)有之一)。
啥是版本控制系統(tǒng)??
例如:
一個(gè)項(xiàng)目,我們開(kāi)發(fā)了第一版、第二版、第三版、一定不改版、一定一定不改版、最終版、終極不再改動(dòng)再改就砸電腦版,最終敲定的方案是第一版。這種情況下,改到最后已經(jīng)看不出當(dāng)初的模樣了。所以,我們需要將每一次的修改記錄并保存下來(lái),以便于為后面的版本溯源。
而這時(shí),有一個(gè)軟件可以幫你自動(dòng)記錄每個(gè)文件的改動(dòng),還可以讓同事一起參與協(xié)作編輯,這樣自己就不用將每一次改動(dòng)前的版本手動(dòng)保存,也不再需要將改動(dòng)后的文件傳來(lái)傳去,每一次需要就去軟件中看就行了。
而git就可以很好的解決以上問(wèn)題。
版本控制系統(tǒng)是軟件開(kāi)發(fā)必備的代碼管理工具,主要用于解決以下四個(gè)方面的問(wèn)題:
- 代碼備份
- 版本控制
- 協(xié)同開(kāi)發(fā)
- 責(zé)任追溯
集中式VS分布式
集中式版本控制系統(tǒng)(代表:SVN),版本庫(kù)是集中存放在中央服務(wù)器的,而干活的時(shí)候,用的都是自己的電腦,所以要先從中央服務(wù)器取得最新的版本,然后開(kāi)始干活,干完活了,再把自己的活推送給中央服務(wù)器。中央服務(wù)器就好比是一個(gè)圖書(shū)館,你要改一本書(shū),必須先從圖書(shū)館借出來(lái),然后回到家自己改,改完了,再放回圖書(shū)館。
分布式版本控制系統(tǒng)(代表:Git)
分布式版本控制系統(tǒng)沒(méi)有“中央服務(wù)器”每個(gè)人的電腦上都是一個(gè)完整的版本庫(kù),這樣,我們工作的時(shí)候,就不需要聯(lián)網(wǎng)了,因?yàn)榘姹編?kù)就在自己的電腦上。那多個(gè)人如何協(xié)作呢?比方說(shuō)你在自己電腦上改了文件A,你的同事也在他的電腦上改了文件A,這時(shí),你們倆之間只需把各自的修改推送給對(duì)方,就可以互相看到對(duì)方的修改了。
集中式和分布式的區(qū)別是:
你的本地是否有完整的版本庫(kù)歷史!
假設(shè)SVN服務(wù)器沒(méi)了,那你丟掉了所有歷史信息,因?yàn)槟愕谋镜刂挥挟?dāng)前版本以及部分歷史信息。
假設(shè)GitHub服務(wù)器沒(méi)了,你不會(huì)丟掉任何git歷史信息,因?yàn)槟愕谋镜赜型暾陌姹編?kù)信息。你可以把本地的git庫(kù)重新上傳到另外的git服務(wù)商。
分布式版本控制系統(tǒng)的安全性要高很多,因?yàn)槊總€(gè)人電腦里都有完整的版本庫(kù),某一個(gè)人的電腦壞掉了不要緊,隨便從其他人那里復(fù)制一個(gè)就可以了。而集中式版本控制系統(tǒng)的中央服務(wù)器要是出了問(wèn)題,所有人都沒(méi)法干活了。
git使用
Git安裝
從Git官網(wǎng)下載,根據(jù)不同操作系統(tǒng)去進(jìn)行相應(yīng)的下載。(此處以Windows為例)
安裝成功后,相應(yīng)的文件夾下會(huì)是這樣的。
鼠標(biāo)右鍵也可以
然后點(diǎn)擊bash.exe,就會(huì)彈出一個(gè)命令窗口的東西,即git安裝成功了。
Git的使用命令
1.git 環(huán)境配置(第一次使用時(shí)是要配置的)
用戶名,郵箱
$ git config --global user.name "Your Name"//這里寫(xiě)的是你自己的用戶名和郵箱哈
$ git config --global user.email "email@example.com"
2.創(chuàng)建版本庫(kù)
什么是版本庫(kù)?版本庫(kù)又名倉(cāng)庫(kù),英文名repository,你可以簡(jiǎn)單的理解一個(gè)目錄,這個(gè)目錄里面的所有文件都可以被Git管理起來(lái),每個(gè)文件的修改,刪除,Git都能跟蹤,以便任何時(shí)刻都可以追蹤歷史,或者在將來(lái)某個(gè)時(shí)刻還可以將文件”還原”。
創(chuàng)建版本庫(kù)命令
$ mkdir test(加文件名)//創(chuàng)建
$ cd test//使用
$ pwd//查看當(dāng)前目錄
$ git init//初始化,生成.git文件(若該文件隱藏,則使用ls -ah)
注意:必須在當(dāng)前版本庫(kù)和當(dāng)前目錄下
刪除文件
$ rm test.txt
//直接刪除
$ git checkout -- test.txt//刪錯(cuò)了,恢復(fù)(撤銷(xiāo)修改)
3.將文件添加到緩存區(qū)去,并將文件提交倉(cāng)庫(kù)中。
$ git add test.txt//添加
$ git commit -m "test.txt 文件提交"//提交
$ git status //查看是否還有文件未提交(查看文件的狀態(tài))
$ git diff test.txt//(查看文件修改了啥內(nèi)容)
$ cat test.txt//查看文件內(nèi)容
4.版本控制
查看歷史記錄
$ git log//查看提交歷史記錄,從最近到最遠(yuǎn),可以看到3次
$ git log --pretty=oneline//簡(jiǎn)潔查看
版本回退
$ git reset --hard HEAD^ //回退一個(gè)版本
$ git reset --hard //回退前兩個(gè)版本,一次類推
$ git reset --hard HEAD HEAD~100 //回退到前100個(gè)版本
$ git reset --hard 版本號(hào)//回到最新的版本
$ git reflog//查看每一次修改歷史,查看了版本號(hào)之后,在進(jìn)行恢復(fù)
撤銷(xiāo)修改
$ git checkout -- test.txt//丟棄工作區(qū)的修改,即撤銷(xiāo)修改
$ git reset HEAD test.txt//丟棄暫存區(qū)的修改(若已提交,則回退)
遠(yuǎn)程倉(cāng)庫(kù)
1.初次創(chuàng)建Gitee(github)賬號(hào),需要先進(jìn)行SSH公鑰設(shè)置,因?yàn)楸镜豨it倉(cāng)庫(kù)和Gitee倉(cāng)庫(kù)之間的傳輸是通過(guò)SSH加密的。
$ ssh-keygen -t rsa -C "youremail@example.com"//填寫(xiě)你自己的郵箱,創(chuàng)建SSH Key
2.登錄Gitee 點(diǎn)擊我的設(shè)置中安全設(shè)置的SSH公鑰,將你生成的黏貼到此處,并添加它。
3.創(chuàng)建一個(gè)新的倉(cāng)庫(kù)
$ git remote add origin 網(wǎng)址//關(guān)聯(lián)
網(wǎng)址即那個(gè)路徑
$ git push -u origin master//將本地內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù)(第一次提交)(第一次應(yīng)該還要輸入一次Gitee賬號(hào)密碼)
$ git push origin master//將本地內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù)(之后體交)
$ git remote -v //查看遠(yuǎn)程倉(cāng)庫(kù)信息
$ git remote rm origin//刪除遠(yuǎn)程倉(cāng)庫(kù)(解綁)
4.克隆一個(gè)本地倉(cāng)庫(kù)
$ git clone 網(wǎng)址//克隆遠(yuǎn)程倉(cāng)庫(kù)
$ ls//查看
$ git remote//查看遠(yuǎn)程庫(kù)的信息
$ git remote -v//查看遠(yuǎn)程庫(kù)的詳細(xì)信息
5.協(xié)作開(kāi)發(fā)
1.創(chuàng)建分支和合并分支
$ git checkout -b dev//創(chuàng)建并切換到分支dev
$ git branch dev//創(chuàng)建dev
$ git checkout dev//切換dev
$ git branch//查看當(dāng)前分支
$ git branch -d dev//刪除dev分支
$ git merge dev//(合并到master 分支上)
$ git merge -no -ff -m"注釋" dev //(注釋dev分支上)
-no -ff//用來(lái)禁用Fast forword模式
若在工作中突然遇到了bug ,工作還未完成,這時(shí)可以先將工作現(xiàn)場(chǎng)藏起來(lái),恢復(fù)后在繼續(xù)工作。
$ git stash//將現(xiàn)場(chǎng)儲(chǔ)藏起來(lái)
$ git stash list//查看儲(chǔ)存的工作現(xiàn)場(chǎng)
$ git stash apply //恢復(fù)
$ git stash drop//刪除
$ git stash pop//恢復(fù)并刪除
2.推送分支
$ git push origin master(dev)//推送分支
$ git checkout -b dev origin/dev//創(chuàng)建遠(yuǎn)程origin的dev分支到本地
A推送的和B推送的產(chǎn)生了沖突
$ git pull//抓取分支(解決沖突)
$ git branch --set-upstream-to=dev(master) dev//指定本地與遠(yuǎn)程dev的鏈接
$ git rebase//把本地未push的分叉提交歷史整理成直線
其他可能會(huì)用到的命令操作
$ git config --global alias.last 'log -1'//顯示最后一次提交信息
$ git last//顯示最近一次的提交
$ cat .git/config //查看每個(gè)倉(cāng)庫(kù)的git配置文件
$ cat .gitconfig //查看當(dāng)前用戶的git配置文件
$ git config --global color.ui true//讓git顯示顏色
更多命令自行去搜吧,需要啥查啥,點(diǎn)子搭積木吧。
idea鏈接gitee
附上idea 鏈接 gitee,(github操作其實(shí)也類似)
打開(kāi)設(shè)置,找到插件,下載Gitee并應(yīng)用即可。
點(diǎn)擊gitee ,點(diǎn)擊加號(hào),登錄即可。看到賬號(hào)即鏈接成功。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-797960.html
回到主頁(yè)面,打開(kāi)終端。正常輸入git命令即可。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-797960.html
到了這里,關(guān)于Git新手?這篇文章帶你飛!基礎(chǔ)操作一網(wǎng)打盡!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!