Git一些常用操作

安裝完成git之后,一定要把自己的用戶信息配置進(jìn)去
這樣才會(huì)知道每一次的操作是誰(shuí)進(jìn)行的
git config --global user.name "xxxxx"
git config --global user.email "xxxxx@xxxx.com"

雙引號(hào)內(nèi)的信息是自己的用戶名以及郵箱


配置完成之后查看配置用戶名
配置完成之后查看配置郵箱

使用git config --list命令可以查看信息是否成功寫入:

全局的git配置信息

理論知識(shí)

要想了解Git更具體的操作流程,請(qǐng)看下圖:

Git的操作流程

然后我們可以開始一個(gè)新項(xiàng)目的Git實(shí)踐了
首先第一步:我們可以先創(chuàng)建一個(gè)新項(xiàng)目
然后在項(xiàng)目的根目錄下,輸入命令git init進(jìn)行初始化Git

初始化Git

這里我們可以看到我們的Git已經(jīng)初始化成功。
然后我們?cè)谶M(jìn)行下一步操作
在現(xiàn)在寫代碼的過(guò)程中,很多時(shí)候都會(huì)在項(xiàng)目中寫一個(gè)README.md的文檔,一般在這個(gè)文檔中我們會(huì)寫一個(gè)項(xiàng)目的主要操作過(guò)程和項(xiàng)目功能介紹等。
在Mac下我們可以使用vim命令
直接在已經(jīng)進(jìn)行Git初始化的項(xiàng)目中,寫入一個(gè)README.md文檔
我們可以直接輸入命令 vim README.md
然后就進(jìn)入了vim編輯器中,輸入一句對(duì)這個(gè)項(xiàng)目的大概描述

這是進(jìn)入vim文件編輯器后的視圖頁(yè)面

然后點(diǎn)擊esc 并按下 :wq進(jìn)行保存文件并退出的操作

這里提示一下,如果想要進(jìn)行重新對(duì)README.md文件的編輯
直接在進(jìn)入vim文件編輯器后的視圖頁(yè)面中,輸入字母i,然后回車,
然后這個(gè)文檔又變成可編輯的文檔了,記住編輯之后一定要根據(jù)進(jìn)行自己的需求進(jìn)行相應(yīng)的保存

然后我們就可以將文件添加到暫存區(qū)域里了
回到已經(jīng)進(jìn)行Git初始化的項(xiàng)目中,在命令行窗口,輸入命令:
git add README.md
然后回車

輸入git add命令的操作視圖

這里呢,一般不會(huì)出現(xiàn)特別的消息,然后我們?cè)倮^續(xù)準(zhǔn)備下一步的操作

將文件提交到我們自己的Git倉(cāng)庫(kù)中

輸入git commit命令的操作視圖

根據(jù)圖上提示,我們可知,Git告訴了我們一個(gè)文件被改動(dòng)了
有一行內(nèi)容被添加了

在這里我們?cè)僮⒁庖幌?commit是提交的意思, -m 后邊跟著的是本次提交的代碼說(shuō)明,就大概描述這一版本做了哪些內(nèi)容的改動(dòng),以便可以迅速查看
但我們要知道,對(duì)于這個(gè)提交的說(shuō)明,Git是強(qiáng)制要求必須寫的,因?yàn)槿绻麤](méi)有使用 -m 選項(xiàng),Git會(huì)自動(dòng)打開一個(gè)編輯器,要求操作者在其中輸入提交的相關(guān)說(shuō)明,輸入完畢后保存退出就可以了

所以

我們可以看出,講工作目錄的文件放到Git倉(cāng)庫(kù)只需要兩步:
Step One : git add 文件名
Step One : git commit -m "提交說(shuō)明"

然后下一步我們需要做什么呢,就是查看狀態(tài),畢竟,如果你想要知道哪些文件是新添加的,哪些文件已經(jīng)加入了暫存區(qū)域,來(lái)幫助自己更好的理解自己進(jìn)行的操作步驟有哪些

輸入git status命令的操作視圖

然后我們可以從命令行的提示中得到
On branch master:表示我們現(xiàn)在正位于一個(gè)叫做"master"的分支里,這是默認(rèn)的分支,所以我們可以先不用去理解它的具體含義
nothing to commit, working tree clean:說(shuō)明了當(dāng)前的工作目錄是"干凈的",沒(méi)有需要提交的文件(意思就是在上一次的提交之后,工作目錄中并沒(méi)有修改和增加刪除任何文件,沒(méi)有進(jìn)行任何的操作)
在這里,為了驗(yàn)證要是在當(dāng)前的工作目中新增加,刪除,修改了其他文件,git status命令會(huì)有哪些改變,我們?cè)俅伟裄EADME.md文件打開,進(jìn)行編輯操作,增加一句話,然后再進(jìn)行保存退出操作
然后在命令行中再次輸入git status命令
可以得到:


再次輸入git status命令的操作視圖

Changes not staged for commit:這句話表示暫存區(qū)有改動(dòng)的文件還沒(méi)提交
然后我們可以根據(jù)它小括號(hào)里面的提示,進(jìn)行g(shù)it add操作
然后我們?cè)俅尾榭串?dāng)前提交的狀態(tài)

再次查看當(dāng)前提交的狀態(tài)

再次通過(guò)上圖小括號(hào)可以得知:我們還可以用
git reset HEAD<file>來(lái)回到未提交的狀態(tài)
然后我們可以再試一下

返回到了未提交的狀態(tài)

一直git add 又git commit是不是特別麻煩呢
有一句命令可以直接將已經(jīng)跟蹤的文件先add到暫存區(qū)域,然后再執(zhí)行commit命令,那就是git commit -am "提交說(shuō)明"
ps:這里的-am是-a -m的縮寫

然后我們就可以用git log命令查看歷史提交了,查看具體日志

輸入git log命令的操作視圖

好,這里我們?cè)賮?lái)進(jìn)行另外一種操作

回滾快照

快照即提交的版本,每個(gè)版本稱為一個(gè)快照
現(xiàn)在我們利用reset 命令回滾快照,并看看Git和本地倉(cāng)庫(kù),暫存區(qū)域,Git倉(cāng)庫(kù)分別發(fā)生了什么

執(zhí)行g(shù)it reset HEAD~命令,然后再執(zhí)行g(shù)it status

這里要注意HEAD表示HEAD的上一個(gè)版本提交,HEAD表示HEAD的上上一個(gè)版本提交,如果希望表示前面的第十個(gè)快照,那么可以直接用HEAD10來(lái)表示
git reset HEAD~也是git reset --mixed HEAD~的縮寫,因?yàn)?-mixed,所以可省略
為了靈活的操作這三個(gè)區(qū)域之間的聯(lián)系,Git還為reset命令安排了
-- soft 和 --hard選項(xiàng)
-- soft選項(xiàng)
git reset --soft HEAD~ 命令就相當(dāng)于只移動(dòng)HEAD的指向,但并不會(huì)將快照回滾到暫存區(qū)域中.那它到底有什么作用呢,事實(shí)它就是相當(dāng)于撤銷了上一次的提交(commit)

輸入git reset HEAD~,git status命令的操作視圖

然后可以得知,我們的具體操作

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,963評(píng)論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,348評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,083評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,706評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,442評(píng)論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,802評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,795評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,983評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,542評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,287評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,486評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,030評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,710評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,116評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,412評(píng)論 1 294
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,224評(píng)論 3 398
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,462評(píng)論 2 378

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

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,694評(píng)論 4 54
  • 情孤傲,心浮躁。內(nèi)傾剛外強(qiáng)歡笑。身銷退,功名未。好夢(mèng)無(wú)憑,夜長(zhǎng)難寐。累、累、累。 知音少,紅顏杳。寂...
    周延龍閱讀 600評(píng)論 8 10
  • 曾經(jīng)以為適度的妥協(xié)可以讓生活更順暢,后來(lái)才發(fā)現(xiàn),只有遵從自己的內(nèi)心,才能在日復(fù)一日的細(xì)碎中屹立不倒。只有活得最靠近...
    就在你身后閱讀 294評(píng)論 0 0
  • 你無(wú)需多好,我愛(ài)你就好 這是他在我每次犯錯(cuò)的時(shí)候?qū)ξ艺f(shuō)的,每當(dāng)他說(shuō)完這句話,我都會(huì)淚流滿面,不是因?yàn)檫@話有多感人,...
    流逝緊握為夢(mèng)閱讀 217評(píng)論 0 0