精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Git 提交是差異、快照還是歷史記錄?

系統 Linux
大家好!我一直在慢慢摸索如何解釋 Git 中的各個核心理念(提交、分支、遠程、暫存區),而提交這個概念卻出奇地棘手。

要明白 Git 提交是如何實現的對我來說相當簡單(這些都是確定的!我可以直接查看!),但是要弄清楚別人是怎么看待提交的卻相當困難。所以,就像我最近一直在做的那樣,我在 Mastodon 上問了一些問題。

大家是怎么看待 Git 提交的?

我進行了一個 非常不科學的調查,詢問大家是怎么看待 Git 提交的:是快照、差異,還是所有之前提交的列表?(當然,把它看作這三者都是合理的,但我很好奇人們的 主要

結果是:

  • 51% 差異
  • 42% 快照
  • 4% 所有之前的提交的歷史記錄
  • 3% “其他”

我很驚訝差異和快照兩個選項的比例如此接近。人們還提出了一些有趣但相互矛盾的觀點,比如 “在我看來,提交是一個差異,但我認為它實際上是以快照的形式實現的” 和 “在我看來,提交是一個快照,但我認為它實際上是以差異的形式實現的”。關于提交的實際實現方式,我們稍后再詳談。

在我們進一步討論之前:我們的說 “一個差異” 或 “一個快照” 都是什么意思?

什么是差異?

我說的“差異”可能相當明顯:差異就是你在運行 git show COMMIT_ID 時得到的東西。例如,這是一個 rbspy 項目中的拼寫錯誤修復:

diff --git a/src/ui/summary.rs b/src/ui/summary.rs
index 5c4ff9c..3ce9b3b 100644
--- a/src/ui/summary.rs
+++ b/src/ui/summary.rs
@@ -160,7 +160,7 @@ mod tests {
  ";
          let mut buf: Vec<u8> = Vec::new();
-        stats.write(&mut buf).expect("Callgrind write failed");
+        stats.write(&mut buf).expect("summary write failed");
          let actual = String::from_utf8(buf).expect("summary output not utf8");
          assert_eq!(actual, expected, "Unexpected summary output");
      }

你可以在 GitHub 上看到它: https://github.com/rbspy/rbspy/commit/24ad81d2439f9e63dd91cc1126ca1bb5d3a4da5b

什么是快照?

我說的 “快照” 是指 “當你運行 git checkout COMMIT_ID 時得到的所有文件”。

Git 通常將提交的文件列表稱為 “樹”(如“目錄樹”),你可以在 GitHub 上看到上述提交的所有文件:

https://github.com/rbspy/rbspy/tree/24ad81d2439f9e63dd91cc1126ca1bb5d3a4da5b(它是 /tree/ 而不是 /commit/

“Git 是如何實現的”真的是正確的解釋方式嗎?

我最常聽到的關于學習 Git 的建議大概是 “只要學會 Git 在內部是如何表示事物的,一切都會變得清晰明了”。我顯然非常喜歡這種觀點(如果你花了一些時間閱讀這個博客,你就會知道我 喜歡

但是作為一個學習 Git 的方法,它并沒有我希望的那么成功!通常我會興奮地開始解釋 “好的,所以 Git 提交是一個快照,它有一個指向它的父提交的指針,然后一個分支是一個指向提交的指針,然后……”,但是我試圖幫助的人會告訴我,他們并沒有真正發現這個解釋有多有用,他們仍然不明白。所以我一直在考慮其他方案。

但是讓我們還是先談談內部實現吧。

Git 是如何在內部表示提交的 —— 快照

在內部,Git 將提交表示為快照(它存儲每個文件當前版本的 “樹”)。我在 在一個 Git 倉庫中,你的文件在哪里? 中寫過這個,但下面是一個非常快速的內部格式概述。

這是一個提交的表示方式:

$ git cat-file -p 24ad81d2439f9e63dd91cc1126ca1bb5d3a4da5b
tree e197a79bef523842c91ee06fa19a51446975ec35
parent 26707359cdf0c2db66eb1216bf7ff00eac782f65
author Adam Jensen <adam@acj.sh> 1672104452 -0500
committer Adam Jensen <adam@acj.sh> 1672104890 -0500
Fix typo in expectation message

以及,當我們查看這個樹對象時,我們會看到這個提交中倉庫根目錄下每個文件/子目錄的列表:

$ git cat-file -p e197a79bef523842c91ee06fa19a51446975ec35
040000 tree 2fcc102acd27df8f24ddc3867b6756ac554b33ef    .cargo
040000 tree 7714769e97c483edb052ea14e7500735c04713eb    .github
100644 blob ebb410eb8266a8d6fbde8a9ffaf5db54a5fc979a    .gitignore
100644 blob fa1edfb73ce93054fe32d4eb35a5c4bee68c5bf5    ARCHITECTURE.md
100644 blob 9c1883ee31f4fa8b6546a7226754cfc84ada5726    CODE_OF_CONDUCT.md
100644 blob 9fac1017cb65883554f821914fac3fb713008a34    CONTRIBUTORS.md
100644 blob b009175dbcbc186fb8066344c0e899c3104f43e5    Cargo.lock
100644 blob 94b87cd2940697288e4f18530c5933f3110b405b    Cargo.toml

這意味著檢出一個 Git 提交總是很快的:對 Git 來說,檢出昨天的提交和檢出 100 萬個提交之前的提交一樣容易。Git 永遠不需要重新應用 10000 個差異來確定當前狀態,因為提交根本就不是以差異的形式存儲的。

快照使用 packfile 進行壓縮

我剛剛提到了 Git 提交是一個快照,但是,當有人說 “在我看來,提交是一個快照,但我認為它在實現上是一個差異” 時,這其實也是對的!Git 提交并不是以你可能習慣的差異的形式表示的(它們不是以與上一個提交的差異的形式存儲在磁盤上的),但基本的直覺是,如果你要對一個 10,000 行的文件編輯 500 次,那么存儲 500 份文件的效率會很低。

Git 有一個將文件以差異的形式存儲的方法。這被稱為 “packfile”,Git 會定期進行垃圾回收,將你的數據壓縮成 packfile 以節省磁盤空間。當你 git clone 一個倉庫時,Git 也會壓縮數據。

這里,我沒有足夠的篇幅來完整地解釋 packfile 是如何工作的(Aditya Mukerjee 的 《解壓 Git packfile》是我最喜歡的解釋它們是如何工作的文章)。不過,我可以在這里簡單總結一下我對 deltas 工作原理的理解,以及它們與 diff 的區別:

  • 對象存儲為 “原始文件” 和一個 “變化量delta” 的引用
  • 變化量是一系列例如 “讀取第 0 到 100 字節,然后插入字節 ‘hello there’,然后讀取第 120 到 200 字節” 的指令。它從原始文件中拼湊出新的文本。所以沒有 “刪除” 的概念,只有復制和添加。
  • 我認為變化量的層次較少:我不知道如何檢查 Git 究竟要經過多少層變化量才能得到一個給定的對象,但我的印象是通常不會很多。可能少于 10 層?不過,我很想知道如何才能真正查出來。
  • 原始文件不一定來自上一個提交,它可以是任何東西。也許它甚至可以來自一個更晚的提交?我不確定。
  • 沒有一個 “正確的” 算法來計算變化量,Git 只是有一些近似的啟發式算法

當你查看差異時,實際上發生了一些奇怪的事情

當我們運行 git show SOME_COMMIT 來查看某個提交的差異時,實際上發生的事情有點反直覺。我的理解是:

  1. Git 會在 packfile 中查找并應用變化量來重建該提交和其父提交的樹。
  2. Git 會對兩個目錄樹(當前提交的目錄樹和父提交的目錄樹)進行差異比較。通常這很快,因為幾乎所有的文件都是完全一樣的,所以 git 只需比較相同文件的哈希值就可以了,幾乎所有時候都不用做什么。
  3. 最后 Git 會展示差異

所以,Git 會將變化量轉換為快照,然后計算差異。它感覺有點奇怪,因為它從一個類似差異的東西開始,最終得到另一個類似差異的東西,但是變化量和差異實際上是完全不同的,所以這是說得通的。

也就是說,我認為 Git 將提交存儲為快照,而 packfile 只是一個實現細節,目的是節省磁盤空間并加快克隆速度。我其實從來沒必要知道 packfile 是如何工作的,但它確實能幫助我理解 Git 是如何在不占用太多磁盤空間的情況下將提交快照化的。

一個 “錯誤的” Git 理解:提交是差異

我認為一個相當常見的,對 Git 的 “錯誤” 的理解是:

  • 提交是以基于上一個提交的差異的形式存儲的(加上指向父提交的指針和作者和消息)。
  • 要獲取提交的當前狀態,Git 需要從頭開始重新應用所有之前的提交。

這個理解當然是錯誤的(在現實中,提交是以快照的形式存儲的,差異是從這些快照計算出來的),但是對我來說它似乎非常有用而且有意義!在考慮合并提交時會有一點奇怪,但是或許我們可以說這只是基于合并提交的第一個父提交的差異。

我認為這個錯誤的理解有的時候非常有用,而且對于日常 Git 使用來說它似乎并沒有什么問題。我真的很喜歡它將我們最常使用的東西(差異)作為最基本的元素——它對我來說非常直觀。

我也一直在思考一些其他有用但 “錯誤” 的 Git 理解,比如:

  • 提交信息可以被編輯(實際上不能,你只是復制了一個相同的提交然后給了它一個新的信息,舊的提交仍然存在)
  • 提交可以被移動到一個不同的基礎上(類似地,它們是被復制了)

我認為有一系列非常有意義的、 “錯誤” 的對 Git 的理解,它們在很大程度上都受到 Git 用戶界面的支持,并且在大多數情況下都不會產生什么問題。但是當你想要撤銷一個更改或者出現問題時,它可能會變得混亂。

將提交視為差異的一些優勢

就算我知道在 Git 中提交是快照,我可能大部分時間也都將它們視為差異,因為:

  • 大多時候我都在關注我正在做的 更改 —— 如果我只是改變了一行代碼,顯然我主要是在考慮那一行代碼而不是整個代碼庫的當前狀態
  • 點擊 GitHub 上的 Git 提交或者使用 git show 時,你會看到差異,所以這只是我習慣看到的東西
  • 我經常使用變基,它就是關于重新應用差異的

將提交視為快照的一些優勢

但是我有時也會將提交視為快照,因為:

  • Git 經常對文件的移動感到困惑:有時我移動了一個文件并編輯了它,Git 無法識別它是否被移動過,而是顯示為 “刪除了 old.py,添加了 new.py”。這是因為 Git 只存儲快照,所以當它顯示 “移動 old.py -> new.py” 時,只是猜測,因為 old.py 和 new.py 的內容相似。
  • 這種方式更容易理解 git checkout COMMIT_ID 在做什么(重新應用 10000 個提交的想法讓我感到很有壓力)
  • 合并提交在我看來更像是快照,因為合并的提交實際上可以是任何東西(它只是一個新的快照!)。它幫助我理解為什么在解決合并沖突時可以進行任意更改,以及為什么在解決沖突時要小心。

其他一些關于提交的理解

Mastodon 的一些回復中還提到了:

  • 有關提交的 “額外的” 帶外信息,比如電子郵件、GitHub 拉取請求或者你和同事的對話
  • 將“差異”視為一個“之前的狀態 + 之后的狀態”
  • 以及,當然,很多人根據情況的不同以不同的方式看待提交

人們在談論提交時使用的其他一些詞可能不那么含糊:

  • “修訂”(似乎更像是快照)
  • “補丁”(看起來更像是差異)

就到這里吧!

我很難了解人們對 Git 有哪些不同的理解。尤其棘手的是,盡管 “錯誤” 的理解往往非常有用,但人們卻非常熱衷于警惕 “錯誤” 的心智模式,所以人們不愿意分享他們 “錯誤” 的想法,生怕有什么 Git 解釋者會站出來向他們解釋為什么他們是錯的。(這些 Git 解釋者通常是出于善意的,但是無論如何它都會產生一種負面影響)

但是我學到了很多!我仍然不完全清楚該如何談論提交,但是我們最終會弄清楚的。

感謝 Marco Rogers、Marie Flanagan 以及 Mastodon 上的所有人和我討論 Git 提交。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-05-09 08:15:32

圖形編輯器撤銷重做功能

2009-08-20 16:25:05

Linux系統歷史記錄linux

2021-04-27 15:38:10

GoogleChrome歷史記錄

2013-12-05 17:37:57

Windows 8文件歷史記錄

2022-01-25 11:33:14

數據泄露網絡攻擊

2021-01-06 18:10:22

ShellLoki系統運維

2013-01-21 14:37:05

Windows 8歷史記錄

2021-12-15 23:33:33

Windows 11Windows微軟

2009-07-07 15:49:04

root命令歷史記錄安全性 

2020-06-01 18:20:41

Git

2016-01-27 11:24:20

Windows 10紅石鏡像

2016-01-26 15:27:16

Windows 10歷史記錄備份

2023-08-01 09:30:12

SQL Server數據庫

2011-10-09 14:57:35

2019-10-14 16:16:49

BashLinux命令

2022-04-29 16:47:57

AI騰訊

2013-12-06 13:33:08

安全補丁

2021-01-05 10:54:12

Edge微軟服務器

2017-03-27 16:15:42

ChromeVivaldi瀏覽器

2021-01-20 09:29:09

QQ瀏覽器App
點贊
收藏

51CTO技術棧公眾號

国产自产精品| 97av在线播放| 午夜性福利视频| 日韩欧美精品一区二区三区| 91年精品国产| 成人福利网站在线观看11| 欧美人妻精品一区二区免费看| 成人动漫视频| 欧美亚洲国产怡红院影院| 先锋影音男人资源| 神马午夜精品95| 麻豆一区二区99久久久久| 欧美日韩高清区| 国产精品无码一区二区三区| 成人免费观看49www在线观看| 亚洲成av人片在线观看| 亚洲精品国产精品国自产| 欧美一级淫片免费视频魅影视频| 日韩精品一二三区| 国产+人+亚洲| 三级黄色在线观看| 欧美人妖在线| 亚洲国产精品网站| 激情成人在线观看| 97人人做人人爽香蕉精品| 午夜天堂影视香蕉久久| 国产精品一区在线免费观看| 懂色一区二区三区| 99re6这里只有精品视频在线观看| 国产精品一香蕉国产线看观看| 日本三级网站在线观看| 亚洲精品极品少妇16p| 亚洲天堂网在线观看| 精品国产人妻一区二区三区| 久久视频社区| 欧美日韩极品在线观看一区| 久草精品在线播放| 白浆在线视频| 亚洲va韩国va欧美va| 高清无码一区二区在线观看吞精| 3d成人动漫在线| 国产色婷婷亚洲99精品小说| 久草热久草热线频97精品| 亚洲a视频在线观看| 韩国一区二区视频| 国产欧美在线视频| 影音先锋国产资源| 日本中文字幕一区| 国产精品96久久久久久| 狠狠人妻久久久久久| 99伊人成综合| 午夜免费久久久久| 日韩久久久久久久久| 在线电影一区| 性色av一区二区三区红粉影视| 欧美人与禽zozzo禽性配| 中文字幕日韩一区二区不卡| 久久久国产精品视频| 小泽玛利亚一区| 99久久99热这里只有精品| 综合网中文字幕| 免费看一级黄色| 香港欧美日韩三级黄色一级电影网站| 视频在线观看99| 国内毛片毛片毛片毛片毛片| 99国内精品久久久久久久| 久久久精品久久久| 色欲人妻综合网| 影音先锋久久资源网| 91精品国产免费久久久久久 | 欧美伦理在线视频| 中文字幕成人精品久久不卡| 日本在线观看网址| 自由日本语亚洲人高潮| 欧美—级高清免费播放| 欧美另类一区二区| 美女一区二区久久| 亚洲精品欧美日韩| 五月婷婷免费视频| 亚洲国产精品精华液ab| 色香蕉在线观看| 欧美人体视频xxxxx| 亚洲成精国产精品女| 成人午夜视频免费在线观看| 另类一区二区三区| 日韩精品在线一区二区| 国产精品一区二区入口九绯色| 精品在线播放| 免费不卡在线观看av| 国产一区二区三区影院| 日韩电影免费在线观看网站| 亚洲一区二区在线| 国产又爽又黄网站亚洲视频123| 国产女人水真多18毛片18精品视频| 亚洲欧洲日韩精品| 黄网站在线观| 欧美视频精品在线| 色哟哟无码精品一区二区三区| 久久91精品| 美女久久久久久久久久久| 日本黄色片视频| 久国产精品韩国三级视频| 国产伦视频一区二区三区| 成人好色电影| 亚洲国产成人porn| 色天使在线观看| 欧美三级电影在线| 久久综合伊人77777蜜臀| 欧美一区二区三区四| 狠狠色狠狠色综合系列| 免费在线成人av电影| 在线电影福利片| 欧美午夜精品久久久| 大尺度做爰床戏呻吟舒畅| 99久久亚洲精品| 日韩av电影中文字幕| 性网爆门事件集合av| 中文av一区二区| 欧美在线观看www| 久久综合给合| 日韩在线视频播放| 免费av中文字幕| 成人免费视频caoporn| 在线观看免费91| 韩国三级一区| 亚洲护士老师的毛茸茸最新章节| 中国毛片直接看| 麻豆中文一区二区| 色综合电影网| 电影一区二区三| 亚洲精品电影网| 麻豆疯狂做受xxxx高潮视频| 久久99久久99小草精品免视看| 热re99久久精品国产99热| 92久久精品| 欧美mv日韩mv国产网站app| 黄视频网站免费看| 激情文学综合插| 制服丝袜综合日韩欧美| 激情小说亚洲| 中文字幕综合在线| 亚洲免费视频二区| 国产女人aaa级久久久级| 无码少妇一区二区三区芒果| 色天下一区二区三区| 国外成人在线播放| 欧美性猛交 xxxx| 亚洲sss视频在线视频| zjzjzjzjzj亚洲女人| 欧美精品自拍| 春色成人在线视频| www.综合网.com| 亚洲黄色有码视频| 国产又大又黑又粗免费视频| gogogo免费视频观看亚洲一| 老太脱裤子让老头玩xxxxx| 欧美18xxxx| 欧美在线视频免费播放| 你懂的在线播放| 欧美在线999| 欧美成人短视频| 国产中文字幕精品| 精品国产一区二区三区在线| 日韩免费精品| 欧美日韩福利电影| 香蕉视频国产在线| 色婷婷综合激情| 极品尤物一区二区| 国产精品一区二区无线| 日本wwwcom| 亚洲三级网址| 国产欧美精品一区二区| 中文字幕有码在线观看| 欧美mv日韩mv亚洲| www五月天com| 亚洲欧美在线观看| 95视频在线观看| 蜜桃久久av| 中国成人在线视频| 成人h动漫免费观看网站| 欧美中文字幕精品| 免费在线观看av网站| 精品少妇一区二区三区日产乱码| 国产免费av一区二区| 亚洲国产成人私人影院tom| www.久久久久久久久久久| 国产精品草草| 日本一区二区三区视频在线观看 | 亚洲自拍偷拍图| 韩国午夜理伦三级不卡影院| 欧美国产日韩激情| 成人直播大秀| 国产91亚洲精品一区二区三区| 小早川怜子影音先锋在线观看| 色偷偷偷综合中文字幕;dd| 午夜免费福利视频| 欧美亚洲动漫精品| 国产午夜福利片| 国产精品久久三| 538国产视频| 精品一区二区三区不卡| 国产视频九色蝌蚪| 91九色精品| 欧美日韩精品中文字幕一区二区| 亚洲欧洲一二区| 欧洲精品在线视频| 欧美韩日亚洲| 日韩在线观看精品| 青青久在线视频免费观看| 日韩一区二区三| 日本中文字幕在线观看视频| 午夜私人影院久久久久| 91久久国产综合| 亚洲国产高清aⅴ视频| 国产婷婷在线观看| 国产美女娇喘av呻吟久久| 天天干在线影院| 一区二区黄色| 国产91视频一区| 久久一区二区三区喷水| 欧美日韩精品久久| 极品国产人妖chinesets亚洲人妖| 国产在线拍揄自揄视频不卡99| 中文在线最新版地址| 色综合男人天堂| 黄色在线免费看| 一区二区福利视频| 人操人视频在线观看| 亚洲加勒比久久88色综合| av老司机久久| 在线不卡一区二区| 影音先锋国产在线| 在线区一区二视频| 中文字幕黄色片| 欧美日韩免费在线观看| 国产无码精品在线观看| 曰韩精品一区二区| 国产性xxxx| 亚洲欧美国产77777| 91n在线视频| 国产精品视频一二| 欧美日韩国产黄色| 欧美国产精品专区| 国产18无套直看片| 欧美国产日韩精品免费观看| 无码 人妻 在线 视频| 久久亚洲精华国产精华液| 艳妇乳肉亭妇荡乳av| 99久久久无码国产精品| 亚洲色图14p| 91丨porny丨最新| 性欧美13一14内谢| 国产亚洲一区二区在线观看| 真实乱视频国产免费观看| www.亚洲国产| aa片在线观看视频在线播放| 26uuu亚洲综合色欧美| 精品少妇人妻一区二区黑料社区| 久久嫩草精品久久久精品| 日本少妇高潮喷水xxxxxxx| 国产亚洲成aⅴ人片在线观看 | 一区免费观看视频| 日本一级片免费| 亚洲精品成人悠悠色影视| 久久久久无码国产精品| 婷婷开心激情综合| 中文人妻av久久人妻18| 欧美特级限制片免费在线观看| 在线观看黄色网| 欧美一区二区视频免费观看| 亚洲卡一卡二卡三| 亚洲精品一区二区网址| 91在线品视觉盛宴免费| 大量国产精品视频| sm在线播放| 国产精品久久视频| 欧美大片91| 久久精品第九区免费观看 | 亚洲免费视频一区二区| av资源网站在线观看| 日韩色av导航| gratisvideos另类灌满| 国产成人综合精品在线| 91精品一久久香蕉国产线看观看| 国产成人精品福利一区二区三区 | 久久久综合久久| 欧美午夜激情小视频| 亚洲综合视频在线播放| 精品福利一二区| 国产大片在线免费观看| 久久国产精品久久精品| 综合另类专区| 亚洲最大福利网站| 四虎5151久久欧美毛片| 在线精品日韩| 噜噜爱69成人精品| 红桃视频一区二区三区免费| 久久综合久久综合亚洲| 国产精品视频一区二区在线观看| 黄色精品在线看| 亚洲中文字幕一区二区| 亚洲国产精品va| 三区四区在线视频| 欧美亚洲在线视频| 日韩欧美一级| 午夜老司机精品| av不卡免费看| 中文国产在线观看| 日本一区二区三区四区在线视频| 精品无码久久久久| 欧美日韩黄色一区二区| 色播色播色播色播色播在线| 久精品免费视频| 欧美天堂在线| 免费久久一级欧美特大黄| 好看的日韩av电影| 五月天婷婷在线观看视频| 欧美激情在线一区二区三区| 韩国av免费观看| 精品久久国产老人久久综合| 国产美女在线观看| 国产精品久久久久久av福利软件| 国产一区丝袜| 波多野结衣av一区二区全免费观看 | av一区二区三区黑人| wwwav国产| 欧美日韩三级视频| 毛片免费在线| 国产91av在线| 天堂俺去俺来也www久久婷婷| 日韩亚洲欧美一区二区| 狠狠色2019综合网| 国产成人在线网址| 欧美日韩在线免费视频| 精品乱码一区二区三四区视频| 97精品国产aⅴ7777| www.国产精品一区| 成人高清dvd| 国产成人精品三级| 四虎免费在线视频| 日韩一区二区三区在线观看| 国产在线二区| 亚洲伊人成综合成人网| 91成人精品视频| 永久看看免费大片| 一区二区三区四区激情| www.蜜臀av| 欧美国产日韩中文字幕在线| 中文在线综合| 男人天堂av片| 91在线观看地址| 久久久精品福利| 亚洲视频在线观看网站| 欧美精品高清| 亚洲欧美久久久久一区二区三区| 蜜臀91精品一区二区三区| 婷婷丁香综合网| 欧美一区二区在线不卡| 日本片在线看| 国产自产精品| 日韩av一区二区在线影视| 神马久久久久久久久久久| 欧美日韩免费观看一区二区三区| 欧美日韩在线资源| 99理论电影网| 国产精品一二| 国产无遮挡在线观看| 在线综合+亚洲+欧美中文字幕| 性网站在线观看| 国精产品一区二区| 日本欧美一区二区三区| www.xxxx日本| 日韩精品视频三区| 国产第一亚洲| 亚洲乱码日产精品bd在线观看| 成人av在线观| 波多野结衣视频网址| 久久天堂电影网| 好吊妞国产欧美日韩免费观看网站 | 色诱视频网站一区| 黄网站在线免费| 久久99精品久久久久子伦| 日韩av电影一区| 久久久久久久久久一区二区三区| 日韩av影视在线| 亚洲男女网站| 噜噜噜久久亚洲精品国产品麻豆| 国产精品女主播av| 丰满熟女一区二区三区| 国产精品国产三级国产aⅴ9色| 久久久国产精品| 精品夜夜澡人妻无码av| 88在线观看91蜜桃国自产| av最新在线| 中文字幕人成一区| 91污在线观看| 国产suv一区二区| 国产精品av在线播放| 激情综合视频| 久久精品在线观看视频|