git基礎

一兼蜈、身份配置

身份配置的意義在于記錄開發(fā)者信息攘残,以便在版本控制記錄開發(fā)者的操作行為。

1为狸、查看身份

// 查看昵稱
git config user.name
// 查看郵箱地址
git config user.email

2肯腕、設置身份

// 設置當前倉庫
git config user.name "昵稱"
git config user.email "郵箱地址"
// 設置本機所有倉庫
git config --global user.name "昵稱"
git config --global user.email "郵箱地址"

其中--global的作用是配置當前用戶所有倉庫,這樣的情況下配置1次,它會全局共享,之后在其他倉庫使用時不需要在配置了。

3、修改身份

// 修改昵稱
git config --global --replace-all user.name "昵稱"
// 修改郵箱地址
git config --global --replace-all user.email "郵箱地址"

實際操作:

image.png

二朋蔫、git本地倉庫操作

1青扔、初始化倉庫

想要利用git進行版本控制黎茎,需要將現(xiàn)有項目初始化為一個倉庫嗅骄,或者將一個已有的使用git進行版本控制的倉庫克隆到本地屏积。
git init會在當前項目目錄中創(chuàng)建一個名為.git的隱藏目錄,這個目錄包含了暫存區(qū)和倉庫兩個區(qū)域,有了這個隱藏目錄就可以使用git來管理項目了,通過ls -al 可以查看。

git init
image.png

2苍息、查看文件狀態(tài)

初始化倉庫后便可以進行開發(fā)了爆办,進入到剛剛創(chuàng)建好并初始為倉庫的目錄爆土,添加我們開發(fā)需要的文件
通過git status可以檢測當前倉庫文件的狀態(tài),

注意:
會忽略掉空目錄
如果當前目錄下面的指定文件夾下面也有一些未追蹤的文件蛉幸,也會提示該文件夾有相關內容

Untracked files:以下都是未追蹤的文件
Changes to be committed:以下都是位于暫存區(qū)的文件
modified:表示這是一個已修改的文件

Git中文件的幾種狀態(tài):

(1)未標記(未追蹤)

在git管理的目錄中锌蓄,創(chuàng)建文件灵汪、修改文件荧琼、刪除文件這些操作都不會被記錄累舷,要想文件被記錄必須通過某個命令

image.png

Untracked files:里面都是未追蹤的文件

(2)已提交

該文件已經被git管理起來贴谎,接下來對該文件進行相關操作就可以實現(xiàn)版本控制的效果

(3)已修改

某個文件已經被提交到暫存區(qū)過了溯香,如果對文件進行修改算途,該文件的狀態(tài)就是已修改


image.png

modified:表示這是一個已修改的文件

(4)已暫存

某個文件已經被提交到暫存區(qū)了,并且沒有修改癞揉,修改了就是已修改狀態(tài)

3岩遗、設置文件不讓git管理

(1)在.git所在目錄(和.git平級,而不是在.git里面)添加一個文件,叫 .gitignore

無法在文件夾中直接添加颜武,會報錯

image.png

需要用git命令添加

image.png

(2)打開.gitignore進行編輯,一行一行的添加不需要git管理的文件

比如不想讓git管理文件1.txt


image.png

修改前:


image.png

在.gitignore添加1.txt后:


image.png

因為.gitignore是為了1.txt不讓git管理而添加的蹋岩,也不想讓git管理.gitignore乎折,所以要加上.gitignore

在.gitignore添加.gitignore后:


image.png

在.gitignore添加如下內容:


image.png

git不會管理1.txt矩桂、.gitignore、css文件夾下的2.txt

4饲齐、添加文件到暫存區(qū)

把已開發(fā)的部分暫存起來等待提交

git add 文件路徑/文件名 
git add *
git add -A
“*”或-A代表提交本工作區(qū)內的全部內容
可以將一個未追蹤的文件放入暫存區(qū)钉凌,也可以將一個已修改的文件放入暫存區(qū)
image.png

注意:
(1)可以表示添加文件
(2)可以表示修改文件
(3)可以表示刪除文件
綜上:git add表示把工作區(qū)內的變化添加到暫存區(qū)

5、撤銷已經添加到暫存區(qū)的文件

(1)一個文件已經放入暫存區(qū)捂人,從暫存區(qū)恢復到修改前的狀態(tài)

工作區(qū)里已經是修改的文件御雕,希望從暫存區(qū)恢復該文件到修改前的狀態(tài)

git checkout -- 文件路徑/文件名
注意:-- 文件路徑/文件名   中間有個空格 
image.png

注意:將文件從暫存區(qū)取出,并替換工作區(qū)文件

(2)一個文件已經添加到暫存區(qū)先慷,并且該文件沒有被修改過,可以從暫存區(qū)取出

git reset HEAD 文件路徑/文件名
image.png

注意:只是將文件從暫存區(qū)中取出咨察,但是并不用

6论熙、將暫存區(qū)的內容放入本地主倉庫(提交文件)

將暫存區(qū)被標記成綠色的文件,全部提交到本地倉庫存儲
每一次提交到本地倉庫都必須輸入備注信息

(1)git commit -m 備注的信息

git commit -m 備注的信息
image.png

(2)git commit+vi編輯器
如果不輸入備注信息會提示一個vi編輯器摄狱,在vi編輯器中提示輸入備注信息

image.png

git commit會自動跳轉到vi編輯器:

image.png

輸入備注信息:如“第2次修改”


image.png

按esc退出輸入狀態(tài)脓诡,輸入:w保存无午,輸入:q退出vi編輯器,得到:


image.png

7祝谚、刪除本地倉庫中保存的文件

(1)第一種方法:

git rm xxx
git commit -m

(2)第二種方法:

rm xxx
git add xxx
git commit -m

8宪迟、查看日志記錄

(1)查看提交日志詳細信息

git log
image.png

(2)查看提交日志簡略顯示

git log --oneline
image.png

(3)查看歷史記錄

這些歷史記錄包括:每一次提交的信息;以及每一次版本回滾的操作

git reflog
image.png

9交惯、版本回退(時光倒流)

通過查看提交歷史中的某個版本的commit 的唯一標記值可以回到之前某一次的提交
將文件從本地主倉庫中恢復次泽,取出來的文件替換工作區(qū)的文件

(1)回到以前的“第2次修改#”版本

git reset --hard 提交的版本號(可以只寫前幾位)
image.png

操作前:


image.png

操作后:


image.png

(2)再次回到“第4次更新”版本

先通過查看日志記錄git reflog,找到“第4次更新”版本的唯一標記號
注意:此時通過git log找不到“第4次更新”版本的唯一標記號

image.png

再通過git reset --hard 提交的版本號回到“第4次更新”版本

image.png

10席爽、比較文件差異

(1) git diff

先比較工作目錄和暫存區(qū)的代碼比較
如果暫存區(qū)沒有文件意荤,則將工作區(qū)和最近一次提交的代碼進行對比

(2) git diff --cached

將暫存區(qū)的文件和工作區(qū)的文件進行對比

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市只锻,隨后出現(xiàn)的幾起案子玖像,更是在濱河造成了極大的恐慌,老刑警劉巖齐饮,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捐寥,死亡現(xiàn)場離奇詭異,居然都是意外死亡祖驱,警方通過查閱死者的電腦和手機握恳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來羹膳,“玉大人睡互,你說我怎么就攤上這事×晗瘢” “怎么了就珠?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長醒颖。 經常有香客問我妻怎,道長,這世上最難降的妖魔是什么泞歉? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任逼侦,我火速辦了婚禮,結果婚禮上腰耙,老公的妹妹穿的比我還像新娘榛丢。我一直安慰自己,他們只是感情好挺庞,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布晰赞。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪掖鱼。 梳的紋絲不亂的頭發(fā)上然走,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音戏挡,去河邊找鬼芍瑞。 笑死,一個胖子當著我的面吹牛褐墅,可吹牛的內容都是我干的拆檬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼掌栅,長吁一口氣:“原來是場噩夢啊……” “哼秩仆!你這毒婦竟也來了?” 一聲冷哼從身側響起猾封,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤澄耍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后晌缘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體齐莲,經...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年磷箕,在試婚紗的時候發(fā)現(xiàn)自己被綠了选酗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡岳枷,死狀恐怖芒填,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情空繁,我是刑警寧澤殿衰,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站盛泡,受9級特大地震影響闷祥,放射性物質發(fā)生泄漏。R本人自食惡果不足惜傲诵,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一凯砍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拴竹,春花似錦悟衩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽斑响。三九已至,卻和暖如春钳榨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纽门。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工薛耻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赏陵。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓饼齿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蝙搔。 傳聞我的和親對象是個殘疾皇子缕溉,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359