国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Git—文件添加查看刪除修改

這篇具有很好參考價(jià)值的文章主要介紹了Git—文件添加查看刪除修改。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

1.添加文件—場景一

2.查看.git文件

3.添加文件—場景三

4.修改文件

5.版本回退

6.撤銷修改

7.刪除文件


1.添加文件—場景一

在包含.git的目錄下新建?個(gè)ReadMe文件,我們可以使用?git add 命令可以將文件添加到暫存
區(qū):

●添加一個(gè)或多個(gè)文件到暫存區(qū): git add [file1] [file2]
●添加指定目錄到暫存區(qū),包括子目錄: git add [dir]
●添加當(dāng)前目錄下的所有文件改動(dòng)到暫存區(qū): git add

●添加一個(gè)或多個(gè)文件到暫存區(qū): git add [file1] [file2]
●添加指定目錄到暫存區(qū),包括子目錄: git add [dir]
●添加當(dāng)前目錄下的所有文件改動(dòng)到暫存區(qū): git add

注意git commit 后面的-m選項(xiàng),要跟上描述本次提交的message,由用戶自己完成,這部分內(nèi)
容絕對不能省略,并要好好描述,是用來記錄你的提交細(xì)節(jié),是給我們?nèi)丝吹摹?br> 例如:

Git—文件添加查看刪除修改,git

git commit命令執(zhí)行成功后會(huì)告訴我們,1個(gè)文件被改動(dòng)(就是我們新添加的ReadMe文件),插入了兩行內(nèi)容(ReadMe有 兩行內(nèi)容)。
我們還可以多次add不同的文件,而只commit 一次便可以提交所有文件,是因?yàn)樾枰峤坏奈募峭ㄍū籥dd到暫存區(qū)中,然后一次性commit暫存區(qū)的所有修改。如:

Git—文件添加查看刪除修改,git

截至目前為止,我們已經(jīng)更夠?qū)⒋a直接提交至本地倉庫了。我們可以使用git log命令,來查看
下歷史提交記錄:

Git—文件添加查看刪除修改,git

該命令顯示從最近到最遠(yuǎn)的提交日志,并且可以看到我們commit時(shí)的日志消息。
如果嫌輸出信息太多,看得眼花繚亂的,可以試試加.上--pretty=oneline參數(shù):

Git—文件添加查看刪除修改,git

需要說明的是,我們看到的一大串類似23807c5... 56eed6的是每次提交的commit id (版本
號(hào)),Git的commit id不是1, 2, ....遞增的數(shù)字,而是一個(gè)SHA1計(jì)算出來的一個(gè)非常大的數(shù)
字,用十六進(jìn)制表示(你看到的commit id 和我的肯定不一樣,以你自己的為準(zhǔn))。

2.查看.git文件

先來看看我們的. git的目錄結(jié)構(gòu):

Git—文件添加查看刪除修改,git

1. index就是我們的暫存區(qū),add后的內(nèi)容都是添加到這里的。
2.HEAD就是我們的默認(rèn)指向master分支的指針:

Git—文件添加查看刪除修改,git

而默認(rèn)的master分支,其實(shí)就是:

Git—文件添加查看刪除修改,git

打印的23807c536969cd886c4 fb624b997ca575756eed6是什么東西呢?保存的就是當(dāng)前最新
的commit id 。
3. objects 為Git的對象庫,里面包含了創(chuàng)建的各種版本庫對象及內(nèi)容。當(dāng)執(zhí)行g(shù)it add命令
時(shí),暫存區(qū)的目錄樹被更新,同時(shí)工作區(qū)修改(或新增)的文件內(nèi)容被寫入到對象庫中的一個(gè)新的
對象中,就位于".git/objects"目錄下,讓我們來看看這些對象有何用處:

Git—文件添加查看刪除修改,git

查找object時(shí)要將commit id分成2部分,其前2位是文件夾名稱,后38位是文件名稱。
找到這個(gè)文件之后,一般不能直接看到里面是什么,該類文件是經(jīng)過sha (安全哈希算法) 加密過的
文件,好在我們可以使用git cat-file 命令來查看版本庫對象的內(nèi)容:

Git—文件添加查看刪除修改,git

其中,還有一行tree 830a8c9fee fbdc098bbae2cdc25e5034ce1920d7,我們使用同樣的方法,看看結(jié)果:

Git—文件添加查看刪除修改,git

在看ReadMe對應(yīng)的9c9e1f0f6bf f3015df71a0963004476f5e6cfd54 :

Git—文件添加查看刪除修改,git

總結(jié)一下,在本地的git倉庫中,有幾個(gè)文件或者目錄很特殊
????????index: 暫存區(qū),git add后會(huì)更新該內(nèi)容。
????????HEAD:默認(rèn)指向master分支的一個(gè)指針。
????????refs/heads/master: 文件里保存當(dāng)前master分支的最新commit id。
????????objects:包含了創(chuàng)建的各種版本庫對象及內(nèi)容,可以簡單理解為放了git維護(hù)的所有修改。

3.添加文件—場景三

學(xué)習(xí)到這里,我們已經(jīng)清楚了如何向倉庫中添加文件,并且對于工作區(qū)、暫存區(qū)、版本庫也有了一定的認(rèn)識(shí)。那么我們再展示一種添加文件的場景,能加深對工作區(qū)、暫存區(qū)、版本庫的理解,示例如下:

Git—文件添加查看刪除修改,git

提交后發(fā)現(xiàn)打印了1 file changed, 0 insertions(+), 0 deletions(-) ,意思是只有一個(gè)文件改變了,這時(shí)我們提出了疑問,不是新增了兩個(gè)文件嗎?
再來回憶下,git add是將文件添加到暫存區(qū),git commit 是將暫存區(qū)的內(nèi)容添加到本地倉庫
中。由于我們并沒有使用git add file5, file5 就不在暫存區(qū)中維護(hù),所以我們commit的時(shí)候
其實(shí)只是把已經(jīng)在暫存區(qū)的file4提交了,而遺漏了工作區(qū)的file5。如何提交file5呢?很簡單,再次
add,commit即可。

4.修改文件

Git比其他版本控制系統(tǒng)設(shè)計(jì)得優(yōu)秀,因?yàn)镚it跟蹤并管理的是修改,而非文件。
什么是修改?比如你新增了一行,這就是一一個(gè)修改,刪除了一-行,也是一一個(gè)修改,更改了某些字符,也是一個(gè)修改,刪了一些又加了一些,也是一一個(gè)修改,甚至創(chuàng)建一個(gè)新文件,也算一個(gè)修改。讓我們將ReadMe文件進(jìn)行一次修改:

Git—文件添加查看刪除修改,git

此時(shí),倉庫中的ReadMe和我們工作區(qū)的ReadMe是不同的,如何查看當(dāng)前倉庫的狀態(tài)呢? git
status命令用于查看在你上次提交之后是否有對文件進(jìn)行再次修改。

Git—文件添加查看刪除修改,git

上面的結(jié)果告訴我們,ReadMe被修改過了,但還沒有完成添加與提交。
目前,我們只知道文件被修改了,如果能知道具體哪些地方被修改了,就更好了。有同學(xué)會(huì)說,我剛改的我知道呀!可是,你還記得你三天前寫了什么代碼嗎?或者沒寫?

Git—文件添加查看刪除修改,git

git diff [file] 命令用來顯示暫存區(qū)和工作區(qū)文件的差異,顯示的格式正是Unix通用的diff格式。也可以使用git diff HEAD -- [file] 命令來查看版本庫和工作區(qū)文件的區(qū)別。
知道了對ReadMe做了什么修改后,再把它提交到本地倉庫就放心多了。

Git—文件添加查看刪除修改,git

git add之后,就沒有看到上面no changes added to commit (use "git add"and/or "git commit -a") 的消息了。接下來讓我們繼續(xù)git commit 即可:

Git—文件添加查看刪除修改,git

5.版本回退

之前我們也提到過,Git 能夠管理文件的歷史版本,這也是版本控制器重要的能力。如果有一天你發(fā)現(xiàn)之前前的工作做的出現(xiàn)了很大的問題,需要在某個(gè)特定的歷史版本重新開始,這個(gè)時(shí)候,就需要版本回退的功能了。
執(zhí)行g(shù)it reset 命令用于回退版本,可以指定退回某一次提交的版本。要解釋一下“回退”本質(zhì)是
要將版本庫中的內(nèi)容進(jìn)行回退,工作區(qū)或暫存區(qū)是否回退由命令參數(shù)決定:

git reset命令語法格式為: git reset [--soft | -- mixed | --hard] [HEAD ]
●--mixed為默認(rèn)選項(xiàng),使用時(shí)可以不用帶該參數(shù)。該參數(shù)將暫存區(qū)的內(nèi)容退回為指定提交版本內(nèi)
容,工作區(qū)文件保持不變。
●--soft參數(shù)對于工作區(qū)和暫存區(qū)的內(nèi)容都不變,只是將版本庫回退到某個(gè)指定版本。
●--hard 參數(shù)將暫存區(qū)與工作區(qū)都退回到指定版本。切記工作區(qū)有未提交的代碼時(shí)不要用這個(gè)命
令,因?yàn)楣ぷ鲄^(qū)會(huì)回滾,你沒有提交的代碼就再也找不回了,所以使用該參數(shù)前一定要慎重。

HEAD說明:
可直接寫成commit id,表示指定退回的版本
HEAD表示當(dāng)前版本
HEAD^上一個(gè)版本
HEAD^^上.上一個(gè)版本
以此類推. ..
可以使用~數(shù)字表示:
HEAD~0表示當(dāng)前版本
HEAD~1上一個(gè)版本
HEAD~2上上一個(gè)版本
以此類推..

為了便于表述,方便測試回退功能,我們先做一些準(zhǔn)備工作: 更新3個(gè)版本的ReadMe,并分別進(jìn)行3
次提交,如下所示:

Git—文件添加查看刪除修改,git

現(xiàn)在,如果我們在提交完version3后,發(fā)現(xiàn)version 3編寫錯(cuò)誤,想回退到version2,重新基于
version 2開始編寫。由于我們在這里希望的是將工作區(qū)的內(nèi)容也回退到version 2版本,所以需
要用到--hard參數(shù),示例如下:

Git—文件添加查看刪除修改,git

我們驚奇的發(fā)現(xiàn),此時(shí)ReadMe文件的內(nèi)容,已經(jīng)回退到version2了,當(dāng)前,我們再次用git
log查看一下提交日志,發(fā)現(xiàn)HEAD指向了version2, 如下所示:

Git—文件添加查看刪除修改,git

到這里一般回退功能就演示完了,但現(xiàn)在如果我后悔了,想再回到version 3怎么辦?我們可以繼續(xù)使.用git reset命令,回退到version 3版本,但我們必須要拿到version 3的commit id去指定回退的版本。但我們看到了git log 并不能打印出version 3的commit id,運(yùn)氣好的話我們可以從終端上去找找之前的記錄,運(yùn)氣不好的話commit id已經(jīng)被我們搞丟了
Git還提供了一個(gè)git reflog 命令能補(bǔ)救一下,該命令用來記錄本地的每一次命令。

Git—文件添加查看刪除修改,git

這樣,你就可以很方便的找到你的所有操作記錄了,但d95c13f這個(gè)是啥東西?這個(gè)是version?
3的commit id的部分。沒錯(cuò),Git版本回退的時(shí)候,也可以使用部分commit id來代表目標(biāo)版本。示例如下:

Git—文件添加查看刪除修改,git

可往往是理想很豐滿,現(xiàn)實(shí)很骨感。在實(shí)際開發(fā)中,由于長時(shí)間的開發(fā)了,導(dǎo)致commit id早就找
不到了,可突然某一天, 我又想回退到version3,那該如何操作呢?貌似現(xiàn)在不可能了

值得說的是,Git 的版本回退速度非常快,因?yàn)镚it在內(nèi)部有個(gè)指向當(dāng)前分支(此處 是master)的
HEAD指針,refs/heads /master文件里保存當(dāng)前master分支的最新commit id。當(dāng)我們在回退版本的時(shí)候,Git 僅僅是給refs/heads/master 中存儲(chǔ)一-個(gè)特定的version,可以簡單理解成如下示意圖:

Git—文件添加查看刪除修改,git

6.撤銷修改

如果我們在我們的工作區(qū)寫了很長時(shí)間代碼,越寫越寫不下去,覺得自己寫的實(shí)在是垃圾,想恢復(fù)到上一個(gè)版本。
情況一:對于工作區(qū)的代碼,還沒有add
你當(dāng)然可以直接刪掉你目前在工作區(qū)新增的代碼,像這樣:

Git—文件添加查看刪除修改,git

辛虧我們工作效率不高,才寫了一行代碼就發(fā)現(xiàn)不行了,要是你寫了3天,一直都沒有提交,該怎么刪掉呢?你自己都忘了自己新增過哪些,有同學(xué)說,我可以git diff xxx一下,看看差別在刪啊,
那你肯定又要花3天時(shí)間刪代碼了,并且很大的概率還會(huì)改出bug。一周過去了,你怎么向你的老板交代呢?
Git其實(shí)還為我們提供了更好的方式,我們可以使用git checkout -- [file] 命令讓工作區(qū)的文件回到最近一次add或commit 時(shí)的狀態(tài)。要注意git checkout -- [file] 命令中的很重要,切記不要省略,一旦省略,該命令就變?yōu)槠渌馑剂耍竺嫖覀冊僬f。示例如下:

Git—文件添加查看刪除修改,git

情況二:已經(jīng)add,但沒有commit
add后還是保存到了暫存區(qū),怎么撤銷呢?

Git—文件添加查看刪除修改,git

讓我們來回憶一下學(xué)過的git reset 回退命令,該命令如果使用--mixed 參數(shù),可以將暫存區(qū)的內(nèi)容退回為指定的版本內(nèi)容,但工作區(qū)文件保持不變。那我們就可以回退下暫存區(qū)的內(nèi)容了! ! !
示例如下:

Git—文件添加查看刪除修改,git

用git status查看一下,發(fā)現(xiàn)現(xiàn)在暫存區(qū)是干凈的,工作區(qū)有修改。

Git—文件添加查看刪除修改,git

還記得如何丟棄工作區(qū)的修改嗎?

Git—文件添加查看刪除修改,git

通過這樣的策略就恢復(fù)了

情況三:已經(jīng)add ,并且也commit了
不要擔(dān)心,我們可以git reset --hard HEAD^ 回退到上一個(gè)版本!不過,這是有條件的,就是你還沒有把自己的本地版本庫推送到遠(yuǎn)程。還記得Git是分布式版本控制系統(tǒng)嗎?我們后面會(huì)講到遠(yuǎn)程版本庫,一旦你推送到遠(yuǎn)程版本庫,你就真的慘了.....

Git—文件添加查看刪除修改,git

7.刪除文件

在Git中,刪除也是一個(gè)修改操作,我們實(shí)戰(zhàn)一下,如果要?jiǎng)h除file5文件,怎么搞呢?如果你這樣
做了:

Git—文件添加查看刪除修改,git

但這樣直接刪除是沒有用的,反而徒增煩惱,git status 命令會(huì)立刻告訴你哪些文件被刪除了:

Git—文件添加查看刪除修改,git

此時(shí),工作區(qū)和版本庫就不-致了,要?jiǎng)h文件,目前除了要?jiǎng)h工作區(qū)的文件,還要清除版本庫的文件。

一般走到這里,有兩種可能:
????????●確實(shí)要從版本庫中刪除該文件
????????●不小心刪錯(cuò)了
對第二種情況,很明顯誤刪,需要使用git來進(jìn)行恢復(fù),很簡單我們剛學(xué)過(刪除也是修改) :

Git—文件添加查看刪除修改,git

對于第一種情況,很明顯是沒有刪完,我們只刪除了工作區(qū)的文件。這時(shí)就需要使用git rm將文
件從暫存區(qū)和工作區(qū)中刪除,并且commit? :

Git—文件添加查看刪除修改,git

現(xiàn)在,文件就從版本庫中刪除了。文章來源地址http://www.zghlxwxcb.cn/news/detail-753170.html

到了這里,關(guān)于Git—文件添加查看刪除修改的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Git添加與提交文件與查看

    Git添加與提交文件與查看

    目錄 一、Git添加 二、Git提交文件 三、查看Git倉庫的提交歷史 1、在終端或命令提示符中,導(dǎo)航到你的Git項(xiàng)目所在的目錄,使用 cd 命令切換目錄。 例如:(推薦linux)cd d/目錄/目錄;或(windows)cd D:目錄目錄; 2、在目標(biāo)目錄中,運(yùn)行以下命令來初始化一個(gè)新的Git倉庫,這將

    2024年02月10日
    瀏覽(19)
  • git查看最近修改的文件

    git查看最近修改的文件

    git log --name-status 每次修改的文件列表, 顯示狀態(tài) git log --name-only 每次修改的文件列表 git log --stat 每次修改的文件列表, 及文件修改的統(tǒng)計(jì) git whatchanged 每次修改的文件列表 git whatchanged --stat 每次修改的文件列表, 及文件修改的統(tǒng)計(jì) git show 顯示最后一次的文件改變的具體內(nèi)容

    2024年02月12日
    瀏覽(23)
  • git 查看某次commit對應(yīng)修改的文件

    如果不指定commit_id 默認(rèn)展示最近一次commit修改的文件 如果 git log 也想看到每次commoit 修改的文件 diff 也能用這個(gè)參數(shù)

    2024年02月12日
    瀏覽(26)
  • 【Git】—— 版本控制(忽略文件、查看修改內(nèi)容,撤銷未提交的修改、查看歷史提交記錄)

    【Git】—— 版本控制(忽略文件、查看修改內(nèi)容,撤銷未提交的修改、查看歷史提交記錄)

    目錄 一、準(zhǔn)備工作 二、忽略文件 三、查看修改內(nèi)容 四、撤銷未提交的修改 五、查看提交記錄 ??????? 前面學(xué)習(xí)了Git最基本的用法,包括安裝Git、創(chuàng)建代碼倉庫以及提交本地代碼。 ????????下面將要學(xué)習(xí)版本控制。 ??????? 先選擇一個(gè)項(xiàng)目,給它創(chuàng)建一個(gè)代碼倉庫

    2024年02月05日
    瀏覽(30)
  • git查看某個(gè)提交(commit)修改了哪些文件

    要查看某個(gè)提交(commit)修改了哪些文件,可以使用 Git 的 diff 命令結(jié)合 -p (逐行)或 -U (差異)選項(xiàng)。 以下是使用 git diff 命令查看提交修改文件的基本語法: 其中, commit_hash 是要查看修改歷史的提交哈希值, file_pattern 是要檢查的文件模式??梢允褂猛ㄅ浞ヅ涠鄠€(gè)文件

    2024年02月04日
    瀏覽(93)
  • git快速查看某個(gè)文件修改的所有commit

    git快速查看某個(gè)文件修改的所有commit

    1. git blame file git blame 可以顯示歷史修改的每一行記錄,有時(shí)候我們只想了解某個(gè)文件一共提交幾次commit,只顯示commit列表,這種方式顯然不滿足要求。 2.git log常規(guī)使用 (1)顯示整個(gè)project的所有commit ? ? (2)顯示某個(gè)文件的所有commit 這是git log不添加參數(shù)的常規(guī)使用,可查

    2024年02月09日
    瀏覽(28)
  • 如何查看某個(gè)文件夾的git修改記錄

    要查看某個(gè)文件夾在Git中的修改記錄,你可以使用 git log 命令,并指定文件夾的路徑。下面是具體的步驟: 打開命令行或終端。 切換到你的Git倉庫的根目錄。 執(zhí)行以下命令,其中 path/to/folder 是你想要查看修改記錄的文件夾的相對路徑: 這個(gè)命令會(huì)顯示該文件夾及其內(nèi)部文

    2024年03月15日
    瀏覽(107)
  • iptables 添加,刪除,查看,修改,及docker運(yùn)行時(shí)修改端口

    [root@linux?~]#?/etc/init.d/iptables?start?? 當(dāng)我們用iptables添加規(guī)則,保存后,這些規(guī)則以文件的形勢存在磁盤上的,以centos為例,文件地址是/etc/sysconfig/iptables,我們可以通過命令的方式去添加,修改,刪除規(guī)則,也可以直接修改/etc/sysconfig/iptables這個(gè)文件就行了。 1,添加filter表

    2024年02月15日
    瀏覽(24)
  • 【Git】git tag 查看版本號(hào) | 刪除本地 | 刪除遠(yuǎn)程倉庫| 批量刪除

    使用場景:比如我們在本地git tag了一個(gè)錯(cuò)誤的版本號(hào),但是還沒有push,想直接刪掉避免污染遠(yuǎn)程倉庫 1、刪除指令 要?jiǎng)h除指定的Git標(biāo)簽(版本號(hào)),您可以使用以下命令: 2、本地刪除 將 標(biāo)簽名稱 替換為要?jiǎng)h除的標(biāo)簽的名稱。例如,要?jiǎng)h除名為 “v1.0” 的標(biāo)簽,可以運(yùn)行以

    2024年02月10日
    瀏覽(21)
  • git之添加和刪除全局配置

    添加和刪除全局配置。 測試添加郵箱和用戶名: 查看配置: 查看所有: 參考文章列表: 添加和刪除git全局配置(git config --global) 。

    2024年02月12日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包