Git

Git 版本控制系統(tǒng)

???? 優(yōu)點(diǎn):

????????????????? 更好的備份挤聘,更好的回溯轰枝,更好的團(tuán)隊(duì)協(xié)作

????????????????? 每一次提取都相當(dāng)于完整備份一次代碼庫(kù)

????????????????? 本地執(zhí)行,速度快组去,段網(wǎng)的時(shí)候不受影響

????????????????? 文檔詳細(xì)鞍陨,命令行的提示明確,輕量級(jí)

?? 缺點(diǎn):

????????????????? 每個(gè)開(kāi)發(fā)人員都擁有所有代碼从隆,不利于核心代碼的保密

?? 組成:

??????? ????????? 工作區(qū):存放git版本倉(cāng)庫(kù)的目錄就是工作區(qū)

???????????????? 版本庫(kù):工作區(qū)有個(gè)隱藏目錄.git诚撵,是git的版本庫(kù)

????????????????? 暫存區(qū):最重要的是stage(或者index)的暫存區(qū)

添加修改到暫存區(qū):

????????????????? git??? add??? 文件名??? 或者????? git???? add??? *

版本日志:

????????????????? git?? log

顯示分支:

????????????????? git? log???? --graph

創(chuàng)建本地庫(kù):

????????????????? mkdir??? gittest

????????????????? cd??? gittest/

????????????????? git??? init?? //初始化版本庫(kù)

????????????????? ls?? -a??????? //查看庫(kù)目錄

?????????????????????????????????? . ? ? .. ? ?? .git

????????????????? 隨便創(chuàng)建一個(gè)測(cè)試文件???? readme.txt

?????????????????????????????????? Git is a version control system.

?????????????????????????????????? Git is free software.

????????????????? git?? add?? readme.txt //建立跟蹤

????????????????? git??? status????? //查看狀態(tài)

????????????????? git? rm -cached ? readme.txt ? //可以刪除文件跟蹤 ,但不可以退回键闺,建議使用撤銷修改

????????????????? git?? commit?? -m? "test" //提交文件到倉(cāng)庫(kù)分支

????????????????????????????????? -m???? 本次提交的說(shuō)明

??????????????????????????? [master(根提交) addd750] test

??????????????????????????? 1 file changed, 2 insertions(+)

???????????????????????????? create mode 100644 readme.txt

????????????????? git??? status??????? //查看git狀態(tài):

??????????????????????????? # 位于分支 master

????????????????????????????? 無(wú)文件要提交寿烟,干凈的工作區(qū)

????????????????? echo? hello?? >>? readme.txt??? //修改文件后再次查看狀態(tài):

????????????????????????????? # 位于分支 master

????????????????????????????? # 尚未暫存以備提交的變更:

????????????????????????????? #? (使用 "git add ..." 更新要提交的內(nèi)容)

????????????????????????????? #? (使用 "git checkout -- ..." 丟棄工作區(qū)的改動(dòng))

????????????????????????????? #

????????????????????????????? #修改:? ? ? readme.txt

????????????????????????????? #

????????????????????????????? 修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

????????????????? git??? diff??? //查看修改了什么內(nèi)容

????????????????????????????? [root@vm20 gittest]# git diff

????????????????????????????? diff --git a/readme.txt b/readme.txt

????????????????????????????? index 795d143..57083df 100644

????????????????????????????? --- a/readme.txt

????????????????????????????? +++ b/readme.txt

????????????????????????????? @@ -1,2 +1,3 @@

????????????????????????????? Git is a version control system.

????????????????????????????? Git is free software.

????????????????????????????? +hello

????????????????? 再次提交可以先add再commit,也可以使用-a和commit一起:

????????????????????????????? [root@vm20 gittest]# git commit -a -m "添加hello一行"

????????????????????????????? [master 7e99d94] 添加hello一行

????????????????????????????? 1 file changed, 1 insertion(+)

????????????????????????????? [root@vm20 gittest]# git status

????????????????????????????? # 位于分支 master

????????????????????????????? 無(wú)文件要提交辛燥,干凈的工作區(qū)

撤銷修改:

??????????????????? [root@vm20 gittest]# git checkout -- a.txt

版本回退:

?????????????????? git??? log???? //? 查看現(xiàn)在的版本

??????????????????????????? [root@ansible gittest]# git log

??????????????????????????? commit 898a61cb50da77daeda51453bef38c98fecd46a0

??????????????????????????? Author: Alex

??????????????????????????? Date:Sun Feb 25 18:04:27 2017+0800

??????????????????????????? test1

??????????????????????????? commit d75411fb17e661cefc1900a09c8a784e8aa0d79a

??????????????????????????? Author: Alex

??????????????????????????? Date:Sun Feb 25 17:56:45 2017+0800

??????????????????????????? test1

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

?????????????????? git reset --hard 6fe5b9a2?? // 回到指定版本(根據(jù)版本號(hào))

?????????????????? git?? reflog???? //可以查看消失的版本ID筛武,用于退回到消失的版本

??????????????????????????? [root@vm20 gittest]# git reflog

??????????????????????????? 32c31f5 HEAD@{0}: reset: moving to 32c31f54c1

??????????????????????????? 6fe5b9a HEAD@{1}: reset: moving to 6fe5b9a2

??????????????????????????? 928ab9e HEAD@{2}: reset: moving to HEAD^^

??????????????????????????? 83f6e8d HEAD@{3}: reset: moving to HEAD^

??????????????????????????? 6fe5b9a HEAD@{5}: commit: 這個(gè)能寫(xiě)中文

刪除文件:

??????????????? 從工作區(qū)刪除a.txt缝其,并且從版本庫(kù)一起刪除

??????????????? [root@vm20 gittest]# rm -rf a.txt

??????????????? [root@vm20 gittest]# git status

??????????????? # 位于分支 master

??????????????? # 尚未暫存以備提交的變更:

??????????????? #? (使用 "git add/rm ..." 更新要提交的內(nèi)容)

??????????????? #? (使用 "git checkout -- ..." 丟棄工作區(qū)的改動(dòng))

??????????????? #

??????????????? #刪除:? ? ? a.txt

??????????????? #

??????????????? 修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

??????????????? [root@vm20 gittest]# git rm a.txt

??????????????? rm 'a.txt'

??????????????? [root@vm20 gittest]# git commit -m "刪除文件a.txt"

??????????????? [master 4bb90a4] 刪除文件a.txt

??????????????? 1 file changed, 4 deletions(-)

??????????????? delete mode 100644 a.txt

??????????????? [root@vm20 gittest]# git status

??????????????? # 位于分支 master

??????????????? 無(wú)文件要提交,干凈的工作區(qū)

??????????????? 刪除了文件readme.txt之后又后悔了徘六,恢復(fù)回來(lái)

??????????????? [root@vm20 gittest]# ls

??????????????? readme.txt

??????????????? [root@vm20 gittest]# rm -rf readme.txt

??????????????? [root@vm20 gittest]# git checkout -- readme.txt

??????????????? [root@vm20 gittest]# ls

??????????????? readme.txt

替換本地改動(dòng):

??????????????? 假如你想要丟棄你所有的本地改動(dòng)與提交内边,可以到服務(wù)器上獲取最新的版本并將你本地主分支指向到它:

??????????????? [root@ansible gittest]# vim a.txt

??????????????? [root@ansible gittest]# git fetch origin

??????????????? [root@ansible gittest]# git reset --hard origin/master

??????????????? HEAD 現(xiàn)在位于 5b83380 hello

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市硕噩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缭贡,老刑警劉巖炉擅,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異阳惹,居然都是意外死亡谍失,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)莹汤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)快鱼,“玉大人,你說(shuō)我怎么就攤上這事纲岭∧ㄖ瘢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵止潮,是天一觀的道長(zhǎng)窃判。 經(jīng)常有香客問(wèn)我,道長(zhǎng)喇闸,這世上最難降的妖魔是什么袄琳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮燃乍,結(jié)果婚禮上唆樊,老公的妹妹穿的比我還像新娘。我一直安慰自己刻蟹,他們只是感情好逗旁,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著舆瘪,像睡著了一般痢艺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上介陶,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天堤舒,我揣著相機(jī)與錄音,去河邊找鬼哺呜。 笑死舌缤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播国撵,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼陵吸,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了介牙?” 一聲冷哼從身側(cè)響起壮虫,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎环础,沒(méi)想到半個(gè)月后囚似,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡线得,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年饶唤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贯钩。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡募狂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出角雷,到底是詐尸還是另有隱情祸穷,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布勺三,位于F島的核電站粱哼,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏檩咱。R本人自食惡果不足惜揭措,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望刻蚯。 院中可真熱鬧绊含,春花似錦、人聲如沸炊汹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)讨便。三九已至充甚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間霸褒,已是汗流浹背伴找。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工厉碟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留镐侯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓估脆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親衰倦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子袒炉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,649評(píng)論 4 54
  • Git使用教程:https://blog.csdn.net/tgbus18990140382/article/de...
    SkTj閱讀 2,771評(píng)論 1 11
  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照樊零,而是把代碼倉(cāng)庫(kù)完整的鏡像下來(lái)我磁。這樣一來(lái),任何一處協(xié)同...
    __silhouette閱讀 15,855評(píng)論 5 147
  • 愛(ài)情還在嗎驻襟?他身上好像已經(jīng)沒(méi)有閃閃發(fā)光了夺艰。
    蔚藍(lán)以北閱讀 163評(píng)論 0 0
  • 佳世達(dá),是明基購(gòu)併西門(mén)子失敗后塑悼,將品牌與代工分家劲适,所成立的專業(yè)代工公司楷掉∠崴猓「Kuma(熊暉英文名)真的接佳世達(dá)了嗎?...
    周明達(dá)老師閱讀 496評(píng)論 0 4