git

1.創(chuàng)建版本庫

(1)首先選擇一個(gè)合適的地方,創(chuàng)建目錄

(2)通過git init命令把這個(gè)目錄變成Git可以管理的倉庫:

2.講文件添加到版本庫

(1)編寫readme.txt

(2)用命令git add告訴Git感昼,把文件添加到倉庫

(3)用命令git commit告訴Git,把文件提交到倉庫

備注:git commit命令赊豌,-m后面輸入的是本次提交的說明湾蔓,可以輸入任意內(nèi)容途样,當(dāng)然最好是有意義的,這樣你就能從歷史記錄里方便地找到改動(dòng)記錄佛寿。一個(gè)一次add多個(gè)文件幌墓,然后一次commit

git status命令可以讓我們時(shí)刻掌握工作區(qū)的狀態(tài)

git diff顧名思義就是查看difference,查看修改的內(nèi)容

3.提交修改文件

(1)git add

(2)git commit

備注:在修改文檔未提交時(shí),查看git status命令得到反饋readme.txt被修改過了狗准,但還沒有準(zhǔn)備提交的修改克锣。在文檔添加后,即完成(1)腔长,使用git status告訴我們袭祟,將要被提交的修改包括readme.txt,提交后捞附,即完成(2)后巾乳,我們再用git status命令看看倉庫的當(dāng)前狀態(tài),此時(shí)Git告訴我們當(dāng)前沒有需要提交的修改鸟召,而且胆绊,工作目錄是干凈(working directory clean)的

4.回退

commit相當(dāng)于快照,一旦你把文件改亂了欧募,或者誤刪了文件压状,還可以從最近的一個(gè)commit恢復(fù),然后繼續(xù)工作跟继,而不是把幾個(gè)月的工作成果全部丟失

git log命令顯示從最近到最遠(yuǎn)的提交日志种冬,我們可以看到3次提交,最近的一次是append GPL舔糖,上一次是add distributed娱两,最早的一次是wrote a readme file。

基礎(chǔ)知識:Git必須知道當(dāng)前版本是哪個(gè)版本金吗,在Git中十兢,用HEAD表示當(dāng)前版本趣竣,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一樣),上一個(gè)版本就是HEAD^旱物,上上一個(gè)版本就是HEAD^^遥缕,當(dāng)然往上100個(gè)版本寫100個(gè)^比較容易數(shù)不過來,所以寫成HEAD~100宵呛。

使用git reset完成版本的回退通砍,命令如下:

$ git reset--hard HEAD^ ? //回到上一個(gè)版本

HEADisnowatea34578adddistributed

備注:回退后再log中查不到未來的信息了,也有辦法恢復(fù)

(1)知道append GPL的commit id烤蜕,此時(shí)可以通過git reset 即可回到未來狀態(tài)

(2)不知道append GPL的commit id,使用git reflog查找之前的命令迹冤,找到commit id 即可回到未來狀態(tài)

add是將文件存在暫存區(qū)讽营,commit是將文件放入master中,也即放入當(dāng)前的分支中

commit只提交當(dāng)前被add的操作

5.撤銷修改的操作

場景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操作模捂。

場景3:已經(jīng)提交了不合適的修改到版本庫時(shí)捶朵,想要撤銷本次提交,參考版本回退一節(jié)狂男,不過前提是沒有推送到遠(yuǎn)程庫

6综看、文件刪除

(1)本地刪除,版本庫也要?jiǎng)h除岖食,操作為:git rm刪掉红碑,并且git commit

(2)本地刪除,版本庫存在泡垃,要恢復(fù)文件析珊,操作為:git checkout,本質(zhì)是讓版本庫中的文件代替當(dāng)前工作區(qū)的文件兔毙,此時(shí)工作區(qū)文件恢復(fù)了唾琼,但最新一次的修改未保存

GitHub作為git的遠(yuǎn)程倉虧,可以設(shè)置澎剥,完成SSH加密傳輸

也可以自己創(chuàng)建Git遠(yuǎn)程庫

7.多人協(xié)作

(1).當(dāng)一個(gè)成員創(chuàng)建了一個(gè)項(xiàng)目時(shí)锡溯,其他人使用git clone克隆一個(gè)本地庫赶舆,命令為:$ git clone git@github.com:michaelliao/gitskills.gi

注意把Git庫的地址換成你自己的,然后進(jìn)入對應(yīng)目錄查看祭饭,即可看到該項(xiàng)目中的文件

(2)多人協(xié)做時(shí)芜茵,可以創(chuàng)建自己的分支,來達(dá)到既保留自己當(dāng)前的進(jìn)度倡蝙,又不影響別人工作的效果九串。

操作步驟:

首先創(chuàng)建自己的分支,然后切換到新創(chuàng)建的分支寺鸥。命令為:

$ git checkout -b dev? //創(chuàng)建+切換到當(dāng)前分支

可以用git branch命令查看當(dāng)前分支進(jìn)行驗(yàn)證猪钮,得到的結(jié)果當(dāng)前分支前面會(huì)標(biāo)一個(gè)*號。

然后切換到分支后可以進(jìn)行文件的修改胆建,然后通過add和submit完成修改提交

接著切換到master分支(所有人在的分支)烤低,并將dev分支上的內(nèi)容合并到master上,命令為;

$ git checkout master? //回到master分支

$ git merge dev? ? ? ? //合并到master分支上

最后可以刪除dev分支笆载,再次查看當(dāng)前的分支? 命令為:

$ git branch -d dev? ? //刪除dev分支

$ git branch? ? ? ? ? //查看當(dāng)前分支

8.打標(biāo)簽

標(biāo)簽的作用是將commit id 轉(zhuǎn)換成標(biāo)簽扑馁,便于查找,命令為:

$git tag v1.0 ? ? ? ? ?//默認(rèn)標(biāo)簽是打在最新提交的commit上的

給歷史的commit提交標(biāo)簽凉驻,需要找到之前的comment ID腻要,然后使用命令:

$git tag v0.96224937? //其中96224937為commit ID

完成過程中可以通過git tag命令查當(dāng)前的tag

還可以創(chuàng)建帶有說明的標(biāo)簽,用-a指定標(biāo)簽名涝登,-m指定說明文字雄家。例如:

$git tag -a v0.1-m"version 0.1 released"3628164

命令git push origin 可以推送一個(gè)本地標(biāo)簽;

命令git push origin --tags可以推送全部未推送過的本地標(biāo)簽缀拭;

命令git tag -d 可以刪除一個(gè)本地標(biāo)簽咳短;

命令git push origin :refs/tags/可以刪除一個(gè)遠(yuǎn)程標(biāo)簽

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蛛淋,隨后出現(xiàn)的幾起案子咙好,更是在濱河造成了極大的恐慌,老刑警劉巖褐荷,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勾效,死亡現(xiàn)場離奇詭異,居然都是意外死亡叛甫,警方通過查閱死者的電腦和手機(jī)层宫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來其监,“玉大人萌腿,你說我怎么就攤上這事《犊啵” “怎么了毁菱?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵米死,是天一觀的道長。 經(jīng)常有香客問我贮庞,道長峦筒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任窗慎,我火速辦了婚禮物喷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘遮斥。我一直安慰自己峦失,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布术吗。 她就那樣靜靜地躺著宠进,像睡著了一般。 火紅的嫁衣襯著肌膚如雪藐翎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天实幕,我揣著相機(jī)與錄音吝镣,去河邊找鬼。 笑死昆庇,一個(gè)胖子當(dāng)著我的面吹牛末贾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播整吆,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼拱撵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了表蝙?” 一聲冷哼從身側(cè)響起拴测,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎府蛇,沒想到半個(gè)月后集索,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡汇跨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年务荆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片穷遂。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡函匕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蚪黑,到底是詐尸還是另有隱情盅惜,我是刑警寧澤中剩,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站酷窥,受9級特大地震影響咽安,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蓬推,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一妆棒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沸伏,春花似錦糕珊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至姆另,卻和暖如春喇肋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背迹辐。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工蝶防, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人明吩。 一個(gè)月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓间学,卻偏偏與公主長得像,于是被迫代替她去往敵國和親印荔。 傳聞我的和親對象是個(gè)殘疾皇子低葫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355

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