一、單機(jī)上使用Git
石城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!#?yum?install?-y?git #?mkdir?/data/gitroot #?cd?/data/gitroot #?git?init???//初始化倉(cāng)庫(kù),初始化后ls?-la可以看到一個(gè).git的目錄 在該目錄下,隨便寫(xiě)點(diǎn)東西,vim?1.txt #?git?add?1.txt???//把1.txt添加到倉(cāng)庫(kù)做標(biāo)記 #?git?commit?-m?"add?1.txt"???//add完了必須要commit才算真正把文件提交到git倉(cāng)庫(kù)里,-m指定解釋說(shuō)明的信息。解釋說(shuō)明一定要寫(xiě)清楚。 報(bào)錯(cuò): ***?Please?tell?me?who?you?are. Run ??git?config?--global?user.email?"you@example.com" ??git?config?--global?user.name?"Your?Name" to?set?your?account's?default?identity. Omit?--global?to?set?the?identity?only?in?this?repository. fatal:?unable?to?auto-detect?email?address?(got?'root@MRX.(none)') 解決方法: #?git?config?--global?user.name?"aming" #?git?config?--global?user.email?"youjian" 定義好你的名字和郵箱。 #?git?commit?-m?"add?1.txt" [master(根提交)?7e55239]?add?1.txt ?1?file?changed,?5?insertions(+) ?create?mode?100644?1.txt ? #?git?status???//查看當(dāng)前倉(cāng)庫(kù)中的狀態(tài),比如是否有改動(dòng)的文件 #?位于分支?master 無(wú)文件要提交,干凈的工作區(qū) 再次更改1.txt ?先不添加到git倉(cāng)庫(kù)里,查看狀態(tài) ?#?git?status? #?位于分支?master #?尚未暫存以備提交的變更: #???(使用?"git?add..."?更新要提交的內(nèi)容) #???(使用?"git?checkout?--..."?丟棄工作區(qū)的改動(dòng)) # # 修改:??????1.txt # 修改尚未加入提交(使用?"git?add"?和/或?"git?commit?-a") #?git?diff?1.txt???//相比較倉(cāng)庫(kù)里面的版本,對(duì)比本次修改了什么內(nèi)容。 diff?--git?a/1.txt?b/1.txt index?958a6f4..100ff5b?100644 ---?a/1.txt +++?b/1.txt @@?-4,3?+4,4?@@?lehopigbnipa ?hjkasnklfejhuofj ?ioveripooabvo ?eovhsdidhbviabu +bviagb #?git?add?1.txt #?git?commit?-m?"add?1.txt?again"??//把前面未提交的提交一下 [master?7802c4f]?add?1.txt?again ?1?file?changed,?1?insertion(+) 再更改一下1.txt的內(nèi)容 #?git?add?1.txt? #?git?commit?-m?"ch?1.txt?again" [master?c3792d6]?ch?1.txt?again ?1?file?changed,?2?deletions(-) #?git?log??//查看所有變更記錄 commit?c3792d659aba7feae2be7e09337067bfbf14db76 Author:?aming//這里定義了名字和郵箱 Date:???Sat?Aug?31?20:38:58?2019?+0800 ????ch?1.txt?again commit?7802c4fbfb41a3426aec1e224c6b3b56b746ebfd Author:?amingDate:???Sat?Aug?31?20:37:12?2019?+0800 ????add?1.txt?again commit?7e55239fcf6283f801b2bb44e4f4feb163ef9406 Author:?amingDate:???Sat?Aug?31?20:22:09?2019?+0800 ????add?1.txt ?#?cat?/root/.gitconfig???//這里面顯示了名字和郵箱 [user] name?=?aming email?=?youjian #?git?log?--pretty=oneline??//將內(nèi)容用一行顯示 c3792d659aba7feae2be7e09337067bfbf14db76?ch?1.txt?again???//前面的字符串為版本ID 158eee38da7accb5da0abcf5d8dd4afb2d5a587c?add?1.txt?again 7e55239fcf6283f801b2bb44e4f4feb163ef9406?add?1.txt [root@MRX?gitroot]#?git?reset?--hard?158eee38???//回退版本,后面跟的字符串可以是簡(jiǎn)寫(xiě) HEAD?現(xiàn)在位于?158eee3?add?1.txt?again #?git?log?--pretty=oneline???//因?yàn)榘姹净赝肆?,所以后面的版本沒(méi)有了 158eee38da7accb5da0abcf5d8dd4afb2d5a587c?add?1.txt?again 7e55239fcf6283f801b2bb44e4f4feb163ef9406?add?1.txt #?git?reflog???//查看所有歷史版本,可以根據(jù)歷史版本再恢復(fù)到后面的版本 158eee3?HEAD@{0}:?reset:?moving?to?158eee38 c3792d6?HEAD@{1}:?commit:?ch?1.txt?again 7802c4f?HEAD@{2}:?commit:?add?1.txt?again 158eee3?HEAD@{3}:?commit:?add?1.txt?again 7e55239?HEAD@{4}:?commit?(initial):?add?1.txt #?git?reset?--hard?c3792d6 git?log?--pretty=oneline??//后面的版本就都回來(lái)了 #?rm?-f?1.txt??//不小心刪除了 #?git?checkout?--?1.txt??//恢復(fù)1.txt 如果1.txt文件做了更改,做了add但是沒(méi)有做commit,再想回退到上一次提交的狀態(tài), 可以使用git?reset?HEAD?1.txt???//這條命令可以把a(bǔ)dd的標(biāo)記給它去掉 重置后撤出暫存區(qū)的變更: M 1.txt 再執(zhí)行g(shù)it?checkout?--?1.txt???//恢復(fù)成修改之前的內(nèi)容,就是把代碼庫(kù)里面最新的文件搞回來(lái)。 刪除文件 #?git?rm?1.txt rm?'1.txt' #?git?commit?-m?"delete?1.txt"???//把庫(kù)里面的也刪掉,提交一次。 [master?742df99]?delete?1.txt ?1?file?changed,?5?deletions(-) ?delete?mode?100644?1.txt ?如果連庫(kù)里的也刪掉了,要想再恢復(fù),就git?log?--pretty=oneline看歷史版本,直接回退到上一個(gè)版本。二、建立遠(yuǎn)程倉(cāng)庫(kù)
【本地項(xiàng)目推送到遠(yuǎn)程】
1、首先到https://github.com注冊(cè)一個(gè)賬號(hào)。再點(diǎn)sign in登錄。
2、創(chuàng)建自己的git,點(diǎn)右上角加號(hào),再點(diǎn)new repository。
3、數(shù)據(jù)庫(kù)名字自定義,比如叫apelearn,選擇public(公有),點(diǎn) create repository。
4、添加密鑰key:右上角點(diǎn)自己頭像,選擇settings,左側(cè)選擇SSH and GPG keys。//加密鑰的目的是為了認(rèn)證。
5、右側(cè)點(diǎn)New SSH key,把linux機(jī)器上的~/.ssh/id_rsa.pub內(nèi)容粘貼到key里,這個(gè)是公鑰。如果沒(méi)有,就使用ssh-keygen命令生成。
6、到/tmp目錄下創(chuàng)建一個(gè)apelearn目錄,進(jìn)入apelearn目錄。執(zhí)行命令:
echo "# apelearn" >> README.md?
git init?
git add README.md?
git commit -m "first commit"
#?echo?"#?apelearn"?>>?README.md #?git?init 初始化空的?Git?版本庫(kù)于?/tmp/apelearn/.git/ //初始化以后會(huì)生成一個(gè).git的目錄,ls?-la可以看到。 #?git?add?README.md #?git?commit?-m?"first?commit" #?git?remote?add?origin?https://github.com/yaoweiyaowei/apelearn.git???????//把當(dāng)前倉(cāng)庫(kù)里的東西推到遠(yuǎn)程上去 #?git?push?-u?origin?master ?Username?for?'https://github.com':?yaoweiyaowei???????????//輸入你GitHub的用戶名和密碼。 Password?for?'https://yaoweiyaowei@github.com':? Counting?objects:?3,?done. Writing?objects:?100%?(3/3),?209?bytes?|?0?bytes/s,?done. Total?3?(delta?0),?reused?0?(delta?0) To?https://github.com/yaoweiyaowei/apelearn.git ?*?[new?branch]??????master?->?master 分支?master?設(shè)置為跟蹤來(lái)自?origin?的遠(yuǎn)程分支?master。7、把本地倉(cāng)庫(kù)推送到遠(yuǎn)程倉(cāng)庫(kù)git remote add origin https://github.com/yaoweiyaowei/apelearn.git ?//這一步是在遠(yuǎn)程創(chuàng)建一個(gè)新的倉(cāng)庫(kù)apelearn,名字盡量和本地的一致。
8、git push -u origin master ?//然后把本地的apelearn倉(cāng)庫(kù)推送到遠(yuǎn)程的apelearn。推送以后,到GitHub的apelearn倉(cāng)庫(kù)里刷新一下,就可以看到README.md存在了。
下一次再推送,就可以直接 git push。
試驗(yàn):
寫(xiě)一個(gè)1.txt,內(nèi)容隨意。
#?vim?1.txt #?git?add?1.txt #?git?commit?-m?"add?1.txt" #?git?push再到GitHub上倉(cāng)庫(kù)里刷新則可以看到2.txt了。
三、克隆遠(yuǎn)程倉(cāng)庫(kù)
【把遠(yuǎn)程的項(xiàng)目克隆到本地】
打開(kāi)GitHub的一個(gè)倉(cāng)庫(kù),里面有一個(gè)綠色的圖標(biāo),寫(xiě)著Clone or download,點(diǎn)開(kāi)后,將鏈接復(fù)制,然后到home目錄下就可以使用克隆命令了。
#?cd?/home #?git?clone?git@github.com:yaoweiyaowei/lanmp.git?????//后面跟Git的地址。它提示,會(huì)在這個(gè)當(dāng)前/home目錄下初始化一個(gè)倉(cāng)庫(kù),并創(chuàng)建一個(gè).git的目錄。
如果還沒(méi)有把公鑰上傳到GitHub上,也能克隆這個(gè)項(xiàng)目,可以讀,但是沒(méi)有權(quán)限寫(xiě)。
#?cd?lanmp #?vim?README.md??//隨便加點(diǎn)東西 #?git?add?README.md #?git?commit?-m?"change?readme.md" #?git?push再到GitHub的倉(cāng)庫(kù)里刷新可以看到變動(dòng)。
關(guān)于在服務(wù)端改動(dòng)文件內(nèi)容,需要注意瀏覽器的不同,QQ瀏覽器無(wú)法識(shí)別變更內(nèi)容,不能改,F(xiàn)irefox或者Chrome都可以。
QQ瀏覽器在這里是灰色的,不可以更改。改動(dòng)內(nèi)容提交后,可以再次看到變更:
服務(wù)端改了內(nèi)容后,想將客戶端的內(nèi)容再更新,使用命令git pull,把它拉下來(lái)。
git push是往服務(wù)端上推。
git pull是往客戶端下拉。
如果從來(lái)沒(méi)有做過(guò)克隆,第一次做的時(shí)候要用git clone命令,SVN是checkout。
總結(jié):
單擊上使用Git:
# yum install -y git
# git init ? //初始化倉(cāng)庫(kù)
# git add 1.txt
# git commit -m "add 1.txt"
# git status ? ? ?//查看當(dāng)前倉(cāng)庫(kù)的狀態(tài)。
# git diff 1.txt ? //和倉(cāng)庫(kù)里的版本對(duì)比,本次修改了什么內(nèi)容。
# git log ? //查看所有變更記錄
# git log --pretty=oneline ? //將內(nèi)容用一行顯示
# git reset --hard 158eee38 ? //回退版本
# git reflog ? ?//查看所有歷史版本
# git checkout -- 1.txt ? //不小心刪除了文件,再恢復(fù)文件
# git rm 1.txt ? //刪除文件
# git commit -m "delete 1.txt" ? //將庫(kù)里面的也刪掉
建立遠(yuǎn)程倉(cāng)庫(kù):
1、登錄GitHub
2、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)(git)
3、添加密鑰ssh key
4、到客戶端的對(duì)應(yīng)目錄下初始化倉(cāng)庫(kù)
5、
echo "# 11111" >> README.md?
git init?
git add README.md?
git commit -m "first commit"?
git remote add origin git@github.com:yaoweiyaowei/11111.git ? //在遠(yuǎn)程創(chuàng)建一個(gè)新倉(cāng)庫(kù)?
git push -u origin master
克隆遠(yuǎn)程倉(cāng)庫(kù):
git clone命令,將遠(yuǎn)程項(xiàng)目克隆到客戶端。后續(xù)用法一致,git add,git commit。
git push,往上推。
git pull,往下拉。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。