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

如果非得了解下 GIT 系統… – 實踐篇

系統
本文旨在通過實踐來介紹.git文件夾中的目錄及文件功能,屬git基礎知識。但在此基礎上可解決各git使用過程中可能遇到的問題,如“.git文件夾占用空間大”,“git如何找回丟失的對象(提交)”,”git diff 對比依據是什么”等,

git的定義是一個內容尋址文件系統。內容、尋址、文件、系統,該來的總會來的…

本文旨在通過實踐來介紹.git文件夾中的目錄及文件功能,屬git基礎知識。但在此基礎上可解決各git使用過程中可能遇到的問題,如“.git文件夾占用空間大”,“git如何找回丟失的對象(提交)”,”git diff 對比依據是什么”等,

[[244047]]

話不多說,擼起袖子就是干,來看看 .git 是個啥樣,這些個貨色都是干嘛的。

  1. # 初始化git,查看內容 
  2. git init 產生一個.git隱藏文件夾 
  3. cd .git 
  4. ls -F1 
  5. # 初始化時的.git長這樣 
  6. # HEAD 
  7. # config 
  8. # description 
  9. # hooks/ 
  10. # info/ 
  11. # objects/ 
  12. # refs/ 
  13. # 日常工作中的.git大概長這樣 
  14. # COMMIT_EDITMSG 
  15. # config 
  16. # description 
  17. # hooks/ 
  18. index 
  19. # info/ 
  20. # logs/ 
  21. # objects/ 
  22. # refs/ 

隨著之后的多種 git操作 ,還會存在如 MERGE_HEAD 、 MERGE_MODE等和 COMMIT_EDITMSG 類似功能的文件,branches(分支信息)、lost-found(存儲被懸掛起/丟失的提交對象)、packed-refs(壓縮后的refs記錄)等和logs、objects類似功能的文件夾。

以上面的.git為例做個簡單的介紹:

COMMIT_EDITMSG 最近一次的 commit edit message ;

  1. # 編寫提交信息的兩種姿勢 
  2. git commit 
  3. # 自動打開文件編輯,在文件中輸入信息即可 
  4. git commit -m msg 
  5. # 信息都會被保存到 COMMIT_EDITMSG 
  6. # 如需修改提交信息,不可直接編輯COMMIT_EDITMSG,可執行以下命令 
  7. git commit --amend  
  8. # 自動打開文件編輯,在文件中修改信息即可 

description 描述文件,打開后里面提醒該為git倉庫創建個描述(Unnamed repository; edit this file ‘description’ to name the repository.)。

config 文件包含項目特有的配置選項,如一些常用項:

  • [core] ignorecase 是否忽略文件大小寫;
  • [remote "origin"] url 配置遠程倉庫地址;
  • [remote "origin"] fetch 遠程分支映射關系;
  • [user] name 用戶名
  • [user] email 郵箱
  • [alias] 命令別名配置 : cmt = commit

抑或更多其他config參數…

全局配置文件在 ~/.gitconfig ,Windows應該是在Users/Administrator/.gitconfig。

info/ 文件夾用以存儲一些有關git倉庫的信息,如exclude

  1. # 包含一個全局性排除(global exclude)文件,用以放置那些不希望被記錄在 .gitignore 文件中的忽略模式(ignored patterns); 
  2. echo for git ignore > git-ignore 
  3. echo for git exclude > git-exclude 
  4. echo git-ignore > .gitignore 
  5. git status 
  6.       
  7. On branch test 
  8. # Untracked files: 
  9. # (use "git add <file>..." to include in what will be committed
  10.   
  11. # .gitignore 
  12. # git-exclude 
  13.   
  14. # git-ignore已被忽略,還有2個untracked的文件 
  15.   
  16. cd .git 
  17. cd info/ 
  18. vi exclude 
  19.       
  20. # ***一行新增 git-exclude 
  21.       
  22. cd ../.. 
  23. git status 
  24. On branch test 
  25. # Untracked files: 
  26. # (use "git add <file>..." to include in what will be committed
  27.   
  28. # .gitignore 
  29.   
  30. # git-exclude 已被忽略,只有.gitignore還是untracked 

除exclude文件外,還可能會有refs、grafts,attributes等文件

hooks/ 文件夾包含客戶端或服務端的鉤子腳本(hook scripts),如pre-commit,post-receive等:

  1. vi .git/hooks/pre-commit 
  2. # 保存以下信息  ***行指定用什么執行 
  3. #!/bin/sh 
  4. echo "Message for pre commit"
  5. exit 1; 
  6. # 開執行權限 
  7. chmod +x .git/hooks/pre-commit   # user+group+other 執行x(1)權限  ,備注 r(4,read),w(2,write),x(1,execute),-(0,no permission),s(special) 
  8.       
  9. touch commit-hook-test 
  10. git add . 
  11. git commit -m “pre-commit test“ 
  12. # 你會看到以下信息 
  13. # Message for pre commit 
  14.   
  15. # 如果不exit,則繼續執行,詳情可參考.git/hooks/下的*.sample文件 
  16. # Message for pre commit 
  17. # [test 038e6ec] pre-commit test 
  18. # 1 file changed, 1 insertion(+), 1 deletion(-) 

logs/ 放置git倉庫操作記錄的文件夾,包含HEAD文件 和 refs文件夾。

HAED 文件包含對 git分支 的操作記錄,如

  1. vi HEAD 
  2. # 99a10c283c33beed7f31c210a6c8b411d2a31085 5daf6094ea2cc60d17e947c0435096a4bdafe82d yeshou <yeshou@xxx.com> 1535082919 +0800       commit: rm files 
  3. # 5daf6094ea2cc60d17e947c0435096a4bdafe82d b8e02a5f9c2bf44342d15f5ea1e60ffd9434765a yeshou <yeshou@xxx.com> 1535087285 +0800        checkout: moving from test to master 
  4. # 先是刪除文件后提交了次,再是由test檢出到master 

refs 文件夾包含 heads 文件夾,remote文件夾。heads 記錄本地相關的各 git分支 操作記錄,remote 記錄遠程倉庫相關的各 git分支 操作記錄

  1. cd heads 
  2. ls 
  3. # master   master分支操作記錄 
  4. # test     test分支操作記錄 
  5.   
  6. cd remote/origin 
  7. ls 
  8. # master  遠程master分支操作記錄 
  9. # test    遠程test分支操作記錄 

HEAD 文件指示當前被檢出(所在)的分支,如當前在test分支,文件內容則為ref: refs/heads/test。

index 文件是當前版本的文件索引,包含生成當前樹(唯一確定的)對象的所虛信息,可用于快速比對工作樹和其他提交樹對象的差異(各commit和HEAD之間的diff),可用于存儲單文件的多個版本以有效的解決合并沖突。可使用git ls-files 查看index文件內容。如:

  • git commit 的一次提交從index中的信息生成tree對象,將其存儲在對象數據庫中,并與本次新的commit做關聯,產生本次commit的tree信息(下面的objects介紹中會提到commit和tree)。

refs/ (references) 文件夾存儲指向數據(分支)的提交對象指針;其中 heads 文件夾記錄內部文件對應名稱的分支的提交對象;tags記錄內部文件對應名稱的標簽的提交對象;remotes記錄內部文件對應名稱的遠程倉庫分支的提交對象;

舉個例子:

  1. cat .git/refs/heads/master 
  2.  # ce1fed3fdbaf12e816e3028055f9feee57b33b45 當前master的提交記錄 
  3.  git checkout -b test # 檢出一個新分支 
  4.  find .git 
  5.  # 多了個 .git/refs/heads/test 文件 
  6.  git log 
  7.   
  8.  # commit 63a85dcbc6978f2d43996f5bebc38993c2afadaa (HEAD -> test) 
  9.  # Author: yeshou <yeshou@xxx.com> 
  10.  # Date:   Sat Aug 25 13:57:26 2018 +0800 
  11.  # 
  12.  # branch test : edit test : add line : write d 
  13.   
  14.  # commit ce1fed3fdbaf12e816e3028055f9feee57b33b45 (master) 
  15.  # Author: yeshou <yeshou@xxx.com> 
  16.  # Date:   Sat Aug 25 12:40:35 2018 +0800 
  17.  #  
  18.  # edit test : add line : write c 
  19.   
  20.  cat .git/refs/heads/test 
  21.  # 63a85dcbc6978f2d43996f5bebc38993c2afadaa   當前test的最近提交記錄 
  22.  cat .git/refs/heads/master 
  23.  # ce1fed3fdbaf12e816e3028055f9feee57b33b45 依然是當前master的最近提交記錄 

另兩者亦然。

objects/ 文件夾用以存儲git倉庫中的所有數據內容。

一步步來…

先看看這個文件夾里是怎么存數據內容的,再理解這些數據內容又是什么。

  1. # 為了清晰的看明白objects文件夾中文件的生成,初始化.git 
  2. rm -rf .git 
  3. git init   
  4. cd .git  
  5. find .git # 這時候objects文件夾下只有pack和info 兩個空文件夾 
  6. touch test 
  7. vi test 
  8. # 輸入 a ,保存,退出 
  9. git add test 
  10. find .git 
  11. # objects 下多了個文件夾,且里面有文件 
  12. # .git/objects/44 
  13. # .git/objects/44/2406aa9341668f9c43c2d5378a777ad69324a0 

驗證下這個文件內容是什么,注意,這是個二進制球,呸…是文件,文明觀球,呸…是觀看。這里我們用傳說中git中的手術刀( git cat-file )來解剖git文件。

  1. git cat-file -p 442406aa9341668f9c43c2d5378a777ad69324a0 
  2. # 輸出 a 

9de29bb2d1d6434b8b29ae775ad8c2e48c5391 是個二進制文件,是git對象中的blob對象,它記錄了當前版本的該文件的數據內容,并以SHA-1計算產生一個40個字符的校驗和。 根據官方描述:這是一個 SHA-1 哈希值——一個將待存儲的數據外加一個頭部信息(header)一起做 SHA-1 校驗運算而得的校驗和。

繼續操作,修改test

  1. vi test 
  2. # 第二行輸入 b ,保存,退出 
  3. git add test 
  4. find .git 
  5. # objects 下又多了個文件夾,且里面也有文件 
  6. # .git/objects/bf 
  7. # .git/objects/bf/daa0f1c3415c09d3080063911d155fd7259d18 

這次的二進制文件的數據內容是 a (手動換行) b 。

繼續走下去:

  1. git commit -m “add test” 
  2. # wtf,怎么突然生出2個文件夾,來來來,看看內容 
  3. # .git/objects/3e 
  4. # .git/objects/3e/5f95cd5c4f0ff429522b0fdfeda9369f92d89c 
  5. # .git/objects/fd 
  6. # .git/objects/fd/1332e4e95f8a64682c1516e175abb66b6f6325 
  7. git cat-file -t fd1332e4e95f8a64682c1516e175abb66b6f6325 
  8. commit 
  9. git cat-file -p fd1332e4e95f8a64682c1516e175abb66b6f6325 
  10. # tree對象、作者、提交者、提交日期、提交信息、父對象(有的話帶一個或多個父對象) 
  11. # tree 3e5f95cd5c4f0ff429522b0fdfeda9369f92d89c  
  12. # author yeshou <yeshou@xxx.com> 1535168447 +0800 
  13. # committer yeshou <yeshou@xxx.com> 1535168447 +0800 
  14. add dir-test     
  15. git cat-file -t 3e5f95cd5c4f0ff429522b0fdfeda9369f92d89c 
  16. # tree 
  17. git cat-file -p 3e5f95cd5c4f0ff429522b0fdfeda9369f92d89c 
  18. # 100644 blob bfdaa0f1c3415c09d3080063911d155fd7259d18    test 
  19. git cat-file -p bfdaa0f1c3415c09d3080063911d155fd7259d18 
  20. # a (換行) b 

3e5f95cd5c4f0ff429522b0fdfeda9369f92d89c 也是個二進制文件,是git對象中的tree對象,記錄著blob標識符、路徑名和在一個tree下的所有文件的元數據。

fd1332e4e95f8a64682c1516e175abb66b6f6325 又是個二進制文件,是git對象中的commit對象,它記錄了當前版本的一次提交數據內容,包含tree對象、作者、提交者、提交日期、提交信息、父對象(有的話帶一個或多個父對象)。

然后,pack文件夾是干嘛的?

隨著objects文件夾下的文件夾和文件不斷生成(也就是N多次的commit之后),objects文件夾明顯會”長大”,這時開發者可以用 git gc 來對之前的操作的對象做整理壓縮。

pack 文件夾內有2個文件 pack-(SHA-1).pack 和 pack-(SHA-1).idx 前者是以壓縮形式存儲之前記錄對象的文件,后者用以存儲訪問索引的文件。

舉個例子:

  1. git gc  
  2. # Counting objects: 12, done. 
  3. # Delta compression using up to 4 threads. 
  4. # Compressing objects: 100% (4/4), done. 
  5. # Writing objects: 100% (12/12), done. 
  6. # Total 12 (delta 0), reused 0 (delta 0) 
  7. find .git 
  8. # 發現少了很多objects里的文件夾和文件,多了以下2個文件 
  9. # .git/objects/pack/pack-2021ec3cb18c796fdfca8ef616fb6a20b1449ab1.pack 
  10. # .git/objects/pack/pack-2021ec3cb18c796fdfca8ef616fb6a20b1449ab1.idx 
  11. git verify-pack -v .git/objects/pack/pack-2021ec3cb18c796fdfca8ef616fb6a20b1449ab1.idx 
  12. # 列出之前存在objects里的所有操作數據內容 
  13. # 655a12c9b83a029bb46fa852ea15e6affd1587d8 commit 167 117 510 
  14. # ... 
  15. # 616dfdb2643c725fa1027ecef76d49d482d9e26d tree   32 43 670 
  16. # ... 
  17. # bfdaa0f1c3415c09d3080063911d155fd7259d18 blob   5 14 853 
  18. # 也可以通過后面加 | grep keyword 來搜索所需的內容,如下列出所有commit記錄 
  19. git verify-pack -v .git/objects/pack/pack-2021ec3cb18c796fdfca8ef616fb6a20b1449ab1.idx | grep commit 

git gc ( garbage collect )命令將會收集所有松散對象并將它們存入 pack,合并這些 pack 進一個大的 pack,然后將不被任何 commit 引用并且已存在一段時間 (數月) 的對象刪除,除此之外還會將所有引用 (references) 并入一個單獨文件(上面有提到隨著各種操作,.git下還會產生更多文件夾,.git中的packed-refs文件夾就是這時候產生的)。該命令可能通過修改配置中的 gc.auto 和 gc.autopacklimit 來調整操作閾值。注意:git gc 調用的也是 git prune ,如有需求也可關注這個命令。

至于”info文件夾是干嘛的?”這個問題還未知… 官網的描述也沒看懂,也沒查到或者在項目中實際出現這個文件夾有存在什么文件,要么等遇到再說?

至此git對象中的三個對象已經知道是咋回事了,還剩個tags對象,簡單介紹下。

tags對象通常也是一個commit對象,指的是一個指定了開發者可讀名稱的一個特殊對象,如有需要也可通過 git cat-file 來解析探索。

其間關系大致如下:

  1. |- commit       aaaaa… 
  2.     |- tree       abbbb… 
  3.         |- blob       acccc… (可能是這次修改的) 
  4.         |- blob       adddd…(也可能是上次修改的) 
  5.         |- tree        aeeee…   
  6.             |- blob        affff… 
  7.   
  8. |- commit        bbbbb… 

關系圖的話,這個是git官網的… 和上面的結構是一樣的。

 

基于objects的介紹再回過頭來看看”內容、尋址、文件、系統”便比較清晰了:以git對象作為內容,通過唯一的校驗和尋址,文件形式存儲的一個版本控制系統。

了解完這些,主要還是希望能夠運用到實際生產中來解決問題。如 “項目中.git文件為什么這么大?怎么處理?”

可能的處理方案:

1. 執行 git gc ,如果壓縮后能達到預期效果,則不做過多處理

2.針對歷史記錄中對某些大文件的引用,則刪除對應引用的對象,操作如下

  1. git gc 
  2. git count-objects -v 
  3. git verify-pack -v .git/objects/pack/pack-(SHA-1).idx | sort -k 3 -n | tail -5 
  4. # 前面用過了git verify-pack,可知第三列信息表示的文件大小,這里用tail取前5個較大文件的記錄 
  5. git rev-list --objects --all | grep (SHA-1) 
  6. # 使用 git rev-list --objects -all 來查看指定 (SHA-1) 對象信息 
  7. # ce1fed3fdbaf12e816e3028055f9feee57b33b45 xxx.mp4  比如是個視頻文件 
  8. git log --pretty=oneline --branches -- xxx.mp4 
  9. # 找出哪些 commit 修改/操作了這個文件 
  10. # 94cbe08e... add xxx.mp4 
  11. git filter-branch --index-filter 'git rm --cached --ignore-unmatch xxx.mp4' -- 94cbe08e^.. 
  12. # 刪除文件引用,rewrite 信息... 
  13. rm -rf .git/refs/original 
  14. rm -rf .git/logs/ 
  15. git gc 
  16. # 刪除 .git/refs/original 和 .git/logs/ ,處理其中對xxx.mp4文件仍存在的引用,之后repack倉庫 
  17. git count-objects -v 
  18. # 檢查下操作后文件大小,或者直接在.git目錄下執行 du -h -d 1 查看1級目錄/文件的大小 

3.若還是難處理,或者不好處理,或者不想刪除大文件的引用,則備份一份.git,然后初始化git倉庫,操作如下

  1. # 除去備份操作,備份操作使用者自定義 
  2. rm -rf .git 
  3. git init 
  4. git remote add origin xxx.git  
  5.  
  6. # 重新指向新的遠程倉庫地址,也可根據上文所說修改config文件來指定 

參考

關于git hooks,參考Customizing-Git-Git-Hooks

https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

關于更詳細的.git文件夾,參考 Gitrepository-layout-objectsinfo

https://git-scm.com/docs/gitrepository-layout#gitrepository-layout-objectsinfo

責任編輯:武曉燕 來源: 博客園
相關推薦

2019-11-21 10:45:22

MyBatisSQL標簽

2011-01-25 09:32:30

系統運維

2014-08-19 14:12:47

Windows

2019-10-23 09:02:49

BIONIO單線程

2019-07-17 13:31:34

VLAN集中管理協議VCMP

2018-07-30 13:51:06

區塊鏈物聯網大數據

2016-08-03 15:32:50

GitLinux開源

2017-12-19 08:50:56

UIJavaAWS Lambda

2018-10-09 14:34:58

開源KubernetesGit

2020-07-07 07:34:29

RedisSDS數據結構

2015-10-23 17:09:27

Snappy Ubun

2019-12-02 16:05:30

網盤硬盤移動

2021-01-04 09:00:00

JavaScript開發Web

2019-05-29 23:01:15

云計算IT云技術

2022-09-08 11:12:09

ES6JavaScript

2012-11-19 10:09:25

2014-07-28 14:43:14

git開源

2025-10-27 13:08:03

2018-10-16 14:04:56

iPhone XR蘋果手機

2018-07-03 14:20:41

AMOLED屏幕LCD屏幕APP
點贊
收藏

51CTO技術棧公眾號

亚洲风情第一页| 波多野结衣av在线观看| 日韩激情美女| 不卡一区二区在线| 57pao国产精品一区| 色无极影院亚洲| √最新版天堂资源网在线| 99re8在线精品视频免费播放| 清纯唯美亚洲激情| 国产精品www爽爽爽| a一区二区三区亚洲| 亚洲主播在线播放| 欧美日韩一区二 | 日韩欧美精品在线不卡| 11024精品一区二区三区日韩| 欧美三区在线| 国产精品久久久久久户外露出| 国产精品青草久久久久福利99| 国产一区二区精彩视频| 精品av导航| 欧美三级电影在线观看| 国产一区二区三区在线免费| 日韩电影免费| 国精产品一区一区三区mba视频| 欧美激情乱人伦| 国产精久久久久| 亚洲综合在线电影| 亚洲一二三区在线观看| 涩涩涩999| 日韩在线一区二区三区四区| 2023国产精华国产精品| 在线免费观看的av| 另类国产ts人妖高潮视频| 最新69国产成人精品视频免费| 国产调教打屁股xxxx网站| 少女频道在线观看免费播放电视剧| 91片黄在线观看| 亚洲影院色无极综合| 国产精品久久久久久99| 欧美日韩国产成人精品| 中文一区二区视频| 国产精品无码网站| 日韩免费高清视频网站| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 福利在线一区二区| 国产精品实拍| 99精品1区2区| 国产精品免费电影| 国产无人区码熟妇毛片多| 综合激情网站| 视频一区视频二区国产精品| 波多野结衣 在线| 第四色在线一区二区| 91精品婷婷国产综合久久性色| 99视频免费播放| 欧美gv在线| 一区二区三区av电影| 亚洲激情电影在线| 亚洲精品国产精| 精品亚洲成av人在线观看| 国产精品7m视频| 欧美三级午夜理伦| 亚洲三级视频| 97精品一区二区三区| 欧美成人一二三区| 亚洲精品va| 三级精品视频久久久久| 性の欲びの女javhd| 久久99视频| 亚洲天堂视频在线观看| 无码人妻精品一区二区中文| 任你躁在线精品免费| 亚洲国产天堂久久综合| 国产老头和老头xxxx×| 欧美a在线观看| 欧美一级片在线看| 五月花丁香婷婷| 9999精品免费视频| 欧美精品第一页| 亚洲精品成人在线播放| 91成人app| 91精品国产综合久久福利| 手机免费看av网站| 国产精品一区二区三区四区在线观看| 91福利区一区二区三区| 91香蕉视频导航| 日韩黄色三级| 欧美一级日韩不卡播放免费| 2025中文字幕| 美女午夜精品| 一本色道久久88综合日韩精品| 成人午夜福利一区二区| 日本久久精品| 美女精品视频一区| 日本老熟俱乐部h0930| 日本道不卡免费一区| 久久精品亚洲94久久精品| 欧美爱爱免费视频| 亚洲精选在线| 日韩免费视频在线观看| 国产精品亚洲欧美在线播放| 国产成人亚洲综合a∨猫咪| 国外成人免费视频| jizz日韩| 亚洲欧美一区二区三区国产精品 | 国产aⅴ精品一区二区三区久久| 色婷婷**av毛片一区| 日韩乱码在线观看| 日韩av午夜在线观看| 91免费在线视频网站| 日韩有码第一页| 国产日韩欧美麻豆| 中文字幕久久综合| sm捆绑调教国产免费网站在线观看| 亚洲综合精品自拍| 美女网站视频黄色| 国产精品玖玖玖在线资源| 日韩国产在线播放| 亚洲怡红院在线观看| 亚洲深夜av| 国产乱人伦真实精品视频| 丁香花免费高清完整在线播放| 国产欧美一区二区三区在线老狼 | 国产大片一区| 91极品视频在线| 97成人免费视频| 久久婷婷色综合| 91网站在线观看免费| 电影亚洲一区| 日韩欧美黄色影院| 亚洲性猛交xxxx乱大交| 一区二区亚洲| 91精品国产自产在线老师啪| 精品视频二区| 五月婷婷激情综合| 性欧美在线视频| 欧洲专线二区三区| 97成人超碰免| 91精东传媒理伦片在线观看| 波多野结衣中文字幕一区| 亚洲在线观看一区| 美女100%一区| 日韩精品欧美国产精品忘忧草| 精品国产视频在线观看| 日本不卡视频在线观看| 精品亚洲欧美日韩| 牛牛精品在线| 日韩欧美中文一区| 欧美精品久久久久久久久46p| 日本成人在线电影网| 久久久久久久久一区二区| 污污的视频在线观看| 欧美精品日日鲁夜夜添| 免费黄在线观看| 久久久久国产精品一区二区| 另类视频在线观看+1080p| 欧美6一10sex性hd| 884aa四虎影成人精品一区| 国产毛片久久久久久久| 国产亚洲毛片| 久久亚洲高清| 欧美色网一区| 亚洲精品日韩久久久| 国产精品久久久免费视频| 成人教育av在线| 熟妇熟女乱妇乱女网站| 免费成人美女女| 一区二区三区黄色| 最新黄色网址在线观看| 欧美国产亚洲另类动漫| wwwwww.色| 秋霞欧美视频| 91久久精品日日躁夜夜躁国产| 快射av在线播放一区| 欧美日韩综合在线| 在线日韩国产网站| 国产精品一品视频| 黄色三级中文字幕| 精品女人视频| 日韩av片永久免费网站| 免费人成在线观看网站| 欧洲生活片亚洲生活在线观看| 女人又爽又黄免费女仆| 久久字幕精品一区| 亚洲精美视频| 视频国产精品| 97香蕉久久夜色精品国产| 色吊丝在线永久观看最新版本| 日韩欧美国产骚| 欧洲女同同性吃奶| 狠狠久久亚洲欧美| 人妻激情另类乱人伦人妻| 日韩黄色网络| 国产精品久久久久9999| 精品视频在线一区二区| 精品国产乱码久久久久久闺蜜| 国产精品乱子伦| 欧美激情自拍偷拍| 在线观看网站黄| 激情婷婷久久| 亚洲高清视频一区| 欧美高清hd| 91精品国产高清自在线| www.成人.com| 欧美大片一区二区三区| 亚洲av无码精品一区二区| 国产精品国产馆在线真实露脸| 亚洲精品乱码久久久久久蜜桃欧美| 亚洲综合日韩| 色乱码一区二区三区熟女| 久久国产精品色av免费看| 国产精品极品在线| 日本不卡影院| 中文字幕不卡在线视频极品| 亚洲精品一区二区三区不卡| 欧美私人免费视频| 国产精品第56页| 18成人在线观看| 亚洲视频在线播放免费| 久久综合综合久久综合| 欧美 日本 亚洲| 亚洲精品久久| 日韩欧美三级一区二区| 超碰cao国产精品一区二区| 国产精品视频1区| 大菠萝精品导航| 最近2019免费中文字幕视频三| 五十路在线观看| 欧美日韩国产成人在线91| 国产又大又黑又粗免费视频| 亚洲人成在线观看一区二区| a级片在线观看| 不卡的av网站| 中文字幕永久免费| 奇米四色…亚洲| 女性女同性aⅴ免费观女性恋| 99成人超碰| 亚洲国产欧洲综合997久久| 日韩欧美天堂| 国产区日韩欧美| 国产精一区二区| 国产在线日韩在线| 成人涩涩视频| 国产精品成熟老女人| 麻豆免费在线| 欧美日韩电影在线观看| 麻豆tv在线| 精品国产自在精品国产浪潮| 成人欧美亚洲| 国产午夜精品全部视频播放 | 日韩欧美亚洲另类制服综合在线| 日韩乱码一区二区三区| 天天综合网 天天综合色| 久久免费视频99| 尤物av一区二区| 中国毛片直接看| 亚洲视频在线观看一区| 午夜精品一区二区三级视频| 中文字幕一区二区三区在线不卡| 9.1片黄在线观看| 国产精品素人视频| 日本高清黄色片| 久久综合色8888| 天天躁日日躁aaaa视频| 国产精品久久影院| 欧美国产日韩在线观看成人| 亚洲综合免费观看高清完整版在线| 国产在线观看成人| 日韩欧美在线免费| 亚洲综合图片网| 在线视频国产一区| 中文字幕欧美人妻精品一区蜜臀 | 色七七影院综合| 欧美a免费在线| 久久中文字幕视频| 视频在线这里都是精品| 欧美激情免费在线| 日本不卡1234视频| 国产精品99免视看9| 欧美成人资源| 国产乱人伦真实精品视频| 色综合久久久| 99视频国产精品免费观看| 国产毛片精品| 人偷久久久久久久偷女厕| 一区二区导航| 免费成人在线观看av| 精品视频亚洲| 五月天色婷婷综合| 激情91久久| 国产精品第12页| 久久成人免费网| 91精品国产高清91久久久久久 | 欧美日韩一本到| 日本久久一级片| 日韩一区二区精品视频| 日韩伦理在线一区| 成人高清视频观看www| 蜜桃一区av| 亚洲av首页在线| 爽好多水快深点欧美视频| 日本黄色www| 久久久av毛片精品| 精品97人妻无码中文永久在线| 欧美性xxxx极品hd满灌| 夜夜骚av一区二区三区| 亚洲国产中文字幕在线观看| 四虎久久免费| 久久免费视频网| 久久亚洲资源中文字| 福利视频久久| 日韩欧美午夜| 2018日日夜夜| 久久99精品国产91久久来源| av网站有哪些| 亚洲天堂2014| 无码人妻精品一区二区三区9厂| 欧美老女人在线| 欧美亚洲日本| 日韩视频免费观看| 成人av观看| 99在线高清视频在线播放| japanese国产精品| 一二三四视频社区在线| 极品少妇xxxx精品少妇| 日本黄色网址大全| 艳妇臀荡乳欲伦亚洲一区| 日本中文字幕第一页| 日韩免费观看高清完整版| av在线之家电影网站| 午夜剧场成人观在线视频免费观看| 96视频在线观看欧美| 国产成人av一区二区三区| 四季av一区二区凹凸精品| 最新中文字幕一区二区三区| 99热99这里只有精品| 欧美三级欧美一级| 国产一二三区在线| 日本高清视频精品| 亚洲老女人视频免费| 久久国产精品视频在线观看| 成人av在线资源网| 久久久久亚洲av成人片| 日韩欧美综合在线| 欧美卡一卡二| 99国产超薄肉色丝袜交足的后果 | 亚洲最新中文字幕| 97欧美成人| 久久久一二三四| 国产美女久久久久| 久久久91视频| 亚洲精品成人网| 手机在线理论片| 日韩福利一区二区三区| 麻豆精品在线观看| 日本黄色免费片| 日韩午夜电影av| jizzjizz中国精品麻豆| 久久久国产精品一区二区三区| 久久精品麻豆| 国产jizz18女人高潮| 7777精品伊人久久久大香线蕉完整版| caopon在线免费视频| 成人在线观看91| 性感少妇一区| 卡一卡二卡三在线观看| 7799精品视频| 男女羞羞视频在线观看| 久久综合九九| 久88久久88久久久| 久久免费播放视频| 亚洲欧美综合另类中字| 欧美亚洲人成在线| 日本aa在线观看| 久久久久久久久久久久久久久99| 中文字字幕在线观看| 色综合久久中文字幕综合网小说| 大香伊人久久精品一区二区| 成人在线观看黄| 亚洲免费在线电影| 日韩av高清在线| 91精品久久久久久久久久另类 | 深夜福利在线观看直播| 国产精品亚洲视频在线观看| 午夜性色一区二区三区免费视频 | 色综合www| 日韩一级免费片| 天天色综合成人网| 在线免费观看的av网站| 国产一区二区三区免费不卡| 免费在线观看成人| 久久精品国产亚洲av麻豆色欲| 亚洲免费电影一区| 国产视频一区二区在线播放| 五十路熟女丰满大屁股| 日韩美女精品在线| 欧美zzoo| 国产精品嫩草在线观看| 麻豆精品在线观看| 精品国产免费观看|