日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Git】git add

發(fā)布時(shí)間:2023/12/18 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Git】git add 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

源站: 老姜博客 Git講之git add

git add用來將working directory的改動(dòng)狀態(tài)改變到Staging階段.

命令格式: git add fileA ...

$ echo "ABC" > README.txt # 生成一個(gè)新文件 $ git add README.txt # git add操作 warning: LF will be replaced by CRLF in README.txt. The file will have its original line endings in your working directory $ git status # 查看Working Directory和Staging區(qū)域的改動(dòng)情況 On branch masterNo commits yetChanges to be committed:(use "git rm --cached <file>..." to unstage)new file: README.txt #從上面的輸出內(nèi)容可以了解到,git status清晰的提示 當(dāng)前沒有commit #同時(shí)提示如果提交,如下的改動(dòng)內(nèi)容將會(huì)被提交(new file: README.txt) #另外提示可以將當(dāng)前staging區(qū)域的文件轉(zhuǎn)化到Working Directory,命令格式是: git rm --cached <file> ...

git add命令將轉(zhuǎn)義到Staging區(qū)域的文件會(huì)保存到Git的objects目錄下.

$ ls .git/objects/ # git add 命令執(zhí)行后,會(huì)將文件內(nèi)容保存到objects目錄下,注意它通過hash計(jì)算的值生成二級(jí)目錄接口,參見如下: 5d/ info/ pack/ $ ls .git/objects/5d/a849b5c6f00b5292b1a823b29ceb303e98585c .git/objects/5d/a849b5c6f00b5292b1a823b29ceb303e98585c $ git cat-file -t 5da849b5c6f00b5292b1a823b29ceb303e98585c # git cat-file -t [hash-code] 可以用來查看objects存放對(duì)象的類型 blob $ git cat-file -p 5da849b5c6f00b5292b1a823b29ceb303e98585c # git cat-file -p [hash-code] 可以用來查看objects存放的內(nèi)容 ABC

objects目錄下面可能存在如下四種類型的對(duì)象:

  • blob: 用來存儲(chǔ)單個(gè)文件的內(nèi)容
  • tree: 一個(gè)tree對(duì)象保存的內(nèi)容主要是指向其他的blob或者子tree對(duì)象
  • commit: 用來存放commit的相關(guān)信息,包含提交人、指向的tree對(duì)象
  • tag: 相當(dāng)于一個(gè)標(biāo)簽,主要用來便于指向特定的commit對(duì)象.

以上四種類別的對(duì)象共同來組成完成的git tree,所有的git 命令操作都是圍繞整個(gè)樹的處理,可以通過如下的圖了解各個(gè)類型的組合關(guān)系:

git add:命令執(zhí)行的結(jié)果是創(chuàng)建一個(gè)新的blob類別節(jié)點(diǎn),但是此時(shí)blob對(duì)象并沒有被其他tree對(duì)象關(guān)聯(lián),相當(dāng)于處于游離態(tài)的,需要我們進(jìn)一步使用git commit將其關(guān)聯(lián)到整個(gè)git tree上,趕緊去了解下一節(jié)內(nèi)容吧

git中保存文件的歷史改動(dòng)記錄,并不是通過diff文件來完成的,而是保存新的文件的完整內(nèi)容,這樣對(duì)于日常開發(fā)普通程序源文件而已其實(shí)沒有很大的影響,但是如果里面保存一些具有二進(jìn)制格式的文件,可能影響就比較大了,比如excel模板,word格式的接口文檔.

總結(jié)

以上是生活随笔為你收集整理的【Git】git add的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。