版本控制之Git(深入)

用git管理我們的代碼有很多好處,首先壁涎,每一個(gè) Git克隆 都是一個(gè)完整的文件庫(kù)凡恍,含有全部歷史記錄和修訂追蹤能力,相對(duì)獨(dú)立怔球。不依賴于網(wǎng)絡(luò)連接或中心服務(wù)器嚼酝。最大特色就是“分支”及“合并”操作非常快速竟坛、簡(jiǎn)便闽巩。把內(nèi)容按元數(shù)據(jù)方式存儲(chǔ),完整克隆版本庫(kù)担汤。

版本控制之Git(初體驗(yàn))介紹了git管理代碼的初級(jí)應(yīng)用涎跨。下圖整理平時(shí)工作中常用的命令。

git.png

關(guān)于hash值

首先我們先創(chuàng)建三個(gè)文件test.txt 和 README 和 LISENCE漫试,git add . 提交到暫存區(qū)之后 git commit 到歷史記錄區(qū)六敬。

01.jpg

上節(jié)說(shuō)過(guò),一旦git init初始化之后驾荣,在我們的文件夾里就會(huì)出現(xiàn).git文件,里面是git的元數(shù)據(jù)普泡。那我們cd .git 查看一下播掷,git里面究竟是什么內(nèi)容、發(fā)現(xiàn)里面很多東西撼班,那我們后面會(huì)解釋這些東西是什么歧匈,先cd objects,打開(kāi)這個(gè)文件夾砰嘁,發(fā)現(xiàn)里面還有一些件炉,那我們?cè)匐S便打開(kāi)查看一下ls 0b,發(fā)現(xiàn)這個(gè)字符串特別像commit的hash值矮湘,那我們git log(下圖)查看一下斟冕,發(fā)現(xiàn)git把commit的sha1的hash值拆分成了兩個(gè)部分,前兩個(gè)字母0a缅阳,作為一個(gè)文件夾磕蛇,后邊一部分作為文件放在文件夾里。這樣是為了檢索的方便。

02.jpg

那我們git cat-file -p 0a62da68834c3czd13c3b0d02b9771e184bdadf3 查看一下這個(gè)hash值里面的內(nèi)容

03.jpg

發(fā)現(xiàn)里面有tree秀撇,和tree的hash值超棺,tree是樹(shù)的概念,那我們?cè)賕it cat-file -p <tree的hash值>呵燕,查看一下里面的內(nèi)容棠绘,發(fā)現(xiàn)里面還有3個(gè)hash值,這三個(gè)hash值又正好對(duì)應(yīng)我們剛開(kāi)始創(chuàng)建的三個(gè)文件再扭。

每當(dāng)我們提交一次的時(shí)候弄唧,我們所在的目錄作為一個(gè)整體,git用一種數(shù)據(jù)結(jié)構(gòu)霍衫,叫tree來(lái)表示它候引,給他生成一個(gè)hash值,這個(gè)hash值里面包含了我們所有的文件敦跌,每個(gè)具體文件都是一種blob結(jié)構(gòu)澄干,并且他也有一個(gè)hash值,這個(gè)hash值里面柠傍,就是文件的內(nèi)容麸俘。

所以,對(duì)于git來(lái)講惧笛,每一個(gè)目錄都是tree的形式存在的从媚,每個(gè)不可分割的文件,都是以blob的形式存在的患整。

05.jpg

此時(shí)拜效,我們仔細(xì)看著5個(gè)hash值,再查看一下objects中的文件夾各谚,發(fā)現(xiàn)每個(gè)hash值的前兩個(gè)字符正好對(duì)應(yīng)5個(gè)文件夾的名稱紧憾。

那此時(shí)如果我們更改text.rb里面的文件內(nèi)容,并且提交上去昌渤。git log 查看日志赴穗,發(fā)現(xiàn)多了一個(gè)hash值


04.jpg

那我們?cè)俅未蜷_(kāi)這個(gè)hash值,會(huì)發(fā)現(xiàn)膀息,git將它重新進(jìn)行了一次sha1的hash般眉,但是其他沒(méi)有更改的兩個(gè)文件的hash并沒(méi)有變化。

這說(shuō)明潜支,我們每次更改并且提交文件的時(shí)候甸赃,對(duì)應(yīng)文件的hash值會(huì)變化,隨之我們對(duì)應(yīng)的tree的hash值和提交時(shí)產(chǎn)生的commit的hash值也會(huì)變化毁腿。所以辑奈,我們只要更改一個(gè)文件苛茂,就會(huì)至少會(huì)產(chǎn)生3個(gè)hash值的變化。那是不是很浪費(fèi)空間鸠窗,其實(shí)計(jì)算機(jī)在閑置的時(shí)候會(huì)自動(dòng)壓縮很久沒(méi)有使用的hash值妓羊。

06.jpg

但是,新提交的時(shí)候稍计,會(huì)有一個(gè)parent的hash值躁绸,這個(gè)hash值指向的就是我們上一次提交的文件、這樣就將我們每次提交的文件都會(huì)保留下來(lái)臣嚣。比如說(shuō)我們最后一次提交的C文件净刮,他的parent的hash值指向了上一次提交的B文件,B文件的parent的hash值就指向了他第一次提交的A文件硅则。這樣就將我們的歷史記錄聯(lián)系了起來(lái)淹父。

git應(yīng)用----上傳代碼至新浪云

1、獲取域名

首先在新浪云中創(chuàng)建一個(gè)云應(yīng)用怎虫。
新浪云首頁(yè)---控制臺(tái)---云應(yīng)用SAE---應(yīng)用管理---創(chuàng)建新應(yīng)用---填寫二級(jí)域名信息和應(yīng)用名稱---創(chuàng)建應(yīng)用

0.png

2暑认、創(chuàng)建應(yīng)用成功后,會(huì)彈出一個(gè)窗口大审,里面是你的倉(cāng)庫(kù)信息

1.jpg

3蘸际、注意圖片下方的git代碼部署說(shuō)明。

1徒扶、先將我們本地的代碼的文件進(jìn)行g(shù)it init初始化粮彤,變成git倉(cāng)庫(kù)
2、然后git add . 將我們的全部文件添加到暫存區(qū)
3姜骡、git commit -m ‘日志’ 將我們的代碼填寫好日志由暫存區(qū)提交到歷史記錄區(qū)
4导坟、然后git push sae master:1 將我們本地的代碼上傳到新浪云的服務(wù)器中
5、重新刷新新浪云的網(wǎng)頁(yè)溶浴,這時(shí)就能在新浪云服務(wù)器中查看我們的代碼了乍迄。

當(dāng)然,如果我們?nèi)绻呀?jīng)在本地提交到歷史記錄區(qū)了士败,那么直接push進(jìn)新浪云就可以。

利用git也可以上傳代碼到github褥伴,利用github管理我們的代碼谅将。這個(gè)應(yīng)該玩過(guò)github的人都知道的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市重慢,隨后出現(xiàn)的幾起案子饥臂,更是在濱河造成了極大的恐慌,老刑警劉巖似踱,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隅熙,死亡現(xiàn)場(chǎng)離奇詭異稽煤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)囚戚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門酵熙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人驰坊,你說(shuō)我怎么就攤上這事匾二。” “怎么了拳芙?”我有些...
    開(kāi)封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵察藐,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我舟扎,道長(zhǎng)分飞,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任睹限,我火速辦了婚禮譬猫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘邦泄。我一直安慰自己删窒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布顺囊。 她就那樣靜靜地躺著肌索,像睡著了一般。 火紅的嫁衣襯著肌膚如雪特碳。 梳的紋絲不亂的頭發(fā)上诚亚,一...
    開(kāi)封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音午乓,去河邊找鬼站宗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛益愈,可吹牛的內(nèi)容都是我干的梢灭。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蒸其,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼敏释!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起摸袁,我...
    開(kāi)封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤钥顽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后靠汁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蜂大,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡闽铐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奶浦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兄墅。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖财喳,靈堂內(nèi)的尸體忽然破棺而出察迟,到底是詐尸還是另有隱情,我是刑警寧澤耳高,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布扎瓶,位于F島的核電站,受9級(jí)特大地震影響泌枪,放射性物質(zhì)發(fā)生泄漏概荷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一碌燕、第九天 我趴在偏房一處隱蔽的房頂上張望误证。 院中可真熱鬧,春花似錦修壕、人聲如沸愈捅。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蓝谨。三九已至,卻和暖如春青团,著一層夾襖步出監(jiān)牢的瞬間譬巫,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工督笆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芦昔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓娃肿,卻偏偏與公主長(zhǎng)得像咕缎,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子料扰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,846評(píng)論 25 707
  • 一锨阿、查理·芒格是誰(shuí)? 投資家记罚,巴菲特的黃金拍檔、完美合伙人壳嚎。在過(guò)去的45年里桐智,他和巴菲特聯(lián)手創(chuàng)造了有史以來(lái)最優(yōu)秀的...
    四四四毛閱讀 22,736評(píng)論 1 81
  • 也許從來(lái)沒(méi)有人認(rèn)真想過(guò)末早,自己如今窮困潦倒的生活是不是自己造成的!
    簡(jiǎn)愛(ài)_3d86閱讀 268評(píng)論 0 0
  • NULL為什么多人用说庭?1然磷、NULL是創(chuàng)建數(shù)據(jù)表時(shí)默認(rèn)的,初級(jí)或不知情的或怕麻煩的程序員不會(huì)注意這點(diǎn)刊驴。2姿搜、很多人員都...
    舒小賤閱讀 4,288評(píng)論 0 1
  • 曾經(jīng)為你,闖下天南海北捆憎, 你舅柜,永遠(yuǎn)是那高高在上的皇帝。 是夜躲惰。蟬聲亂鳴致份,夏雨紛飛。梧侗思索著础拨,多久未見(jiàn)到你了氮块?嘴角...
    雨侗閱讀 2,790評(píng)論 1 7