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

一個成功的Git分支模型

系統 Linux
本文中我會展示一種開發模型,一年前該模型就已經被我用在所有的項目中(包括工作中的項目和私有項目),結果是非常成功的。我早就想為此寫點東西,可直到現在才有時間。本文不會講述任何項目的細節,只會涉及到分支策略和發布管理。

本文中我會展示一種開發模型,一年前該模型就已經被我用在所有的項目中(包括工作中的項目和私有項目),結果是非常成功的。我早就想為此寫點東西,可直到現在才有時間。本文不會講述任何項目的細節,只會涉及到分支策略和發布管理。

本文使用Git作為所有源碼的版本控制工具。

為什么是Git?


要全面了解Git與其它集中式版本控制系統相比的優劣,可以參考這個頁面。這方面的爭論可謂是硝煙彌漫。作為一個開發者,所有這些工具中我最鐘情于Git。Git的的確確改變了人們考慮合并及分支的方式。在我之前所處的經典CVS/Subversion世界中,合并/分支總是被認為是有點可怕的事情(“小心合并沖突,丫會惡心到你”),因此你只應偶爾干這種事情。

但有了Git,這類事情就變得非常簡單,分支及合并甚至被認為是你日常版本控制操作的核心之一。例如,在CVS/Subversion的書中,分支及合并往往在后面的章節才被介紹(針對高級用戶),但在每一本Git的書中,該內容已經在前3章中介紹(基礎)。

簡單及易重復性帶來的好處就是,分支及合并變得不再可怕。版本控制工具本該幫助我們方便的進行和分支及合并操作。

簡單介紹下工具后,讓我們來看開發模型。我講介紹的模型本質上只是一組步驟,每個團隊成員都必須遵循這些步驟以形成一個可靠管理的軟件開發過程。

去中心化但仍保持中心化


在這個分支模型中我們使用的,且被證實工作得很好的倉庫配置,其核心是一個中心“真理”倉庫。注意只有該倉庫才被認為是中心庫(由于Git是DVCS [分布式版本控制系統],在技術層面沒有中心庫這一東西)。之后我們用origin指代該倉庫,因為大多數Git用戶都熟悉這個名稱。

每個開發者都對origin做push和pull操作。不過除了這種中心化的push-pull關系外,每個開發者還可以從其他開發者或者小組處pull變更。例如,可能兩個或更多的開發者一起開發一個大的特性,在往origin***性的push工作代碼之前,他們之間可以執行一些去中心化的操作。在上圖中,分別有Alice和Bob、Alice和David、Clair和David這些小組。

從技術上來說,這僅僅是Alice定義一個Git remote,名字為bob,指向Bob的倉庫,反過來也一樣。

#p#

主要分支


此開發模型的核心主要受現有的模型啟發。中心倉庫包含了兩個主要分支,這兩個分支的壽命是無限的:

  • master
  • develop

每個Git用于都應該熟悉origin上的master分支。與master分支平行存在的,是另外一個名為develop的分支。

我們認為origin/develop分支上的HEAD源碼反映了開發過程中***的提交變更。有人會稱之為“集成分支”。該分支是自動化每日構建的代碼源。

當develop分支上的源碼到達一個穩定的狀態時,就可以發布版本。所有develop上的變更都應該以某種方式合并回master分支,并且使用發布版本號打上標簽。稍后我們會討論具體操作細節。

因此,每次有變化被合并到master分支時,根據定義這就是一次新的產品版本發布。我們趨向于嚴格遵守該規范,所以理論上來說,每次master有提交時,我們都可以使用一個Git鉤子(hook)腳本來自動構建并部署軟件至產品環境服務器。

支持性分支


緊接著主要分支master和develop,我們的開發模型使用多種支持性分支來幫助團隊成員間實現并行開發、追蹤產品特性、準備產品版本發布、以及快速修復產品問題。與主要分支不同的是,這些分支的壽命是有限的,它們最終都會被刪除。

我們會用到的分支有這幾類:

  • 特性分支(feature branch)
  • 發布分支(release branch)
  • 熱補丁分支(hotfix branch)

上述每種分支都有特定的用途,它們各自關于源自什么分支、合并回什么分支,都有嚴格的規定。稍后我們逐個進行介紹。

從技術角度來說,這些分支一點都不“特殊”。分支按照我們對其的使用方式進行分類。技術角度它們都一樣是平常的Git分支。

#p#

特性分支


可能的分支來源:develop

必須合并回:develop

分支命令約定:任何除master, develop, release-*, 或 hotfix-*以外的名稱

特性分支(有時也被稱作topic分支)是用來為下一發布版本開發新特性。當開始開發一個特性的時候,該特性會成為哪個發布版本的一部分,往往還不知道。特性分支的重點是,只要特性還在開發,該分支就會一直存在,不過它最終會被合并回develop分支(將該特性加入到發布版本中),或者被丟棄(如果試驗的結果令人失望)。

特性分支往往只存在于開發者的倉庫中,而不會出現在origin。

創建一個特性分支

開始開發新特性的時候,從develop分支創建特性分支。

  1. $ git checkout -b myfeature develop 
  2.  
  3. Switch to a new branch “myfeature” 

合并完成的特性回develop

完成的特性應該被合并回develop分支以將特性加入到下一個發布版本中:

  1. $ git checkout develop 
  2.  
  3. Switch to branch ‘develop’ 
  4.  
  5. $ git merge –no-ff myfeature 
  6.  
  7. Updating ea1b82a..05e9557 
  8.  
  9. (Summary of changes) 
  10.  
  11. $ git branch -d myfeature 
  12.  
  13. Deleted branch myfeature (was 05e9557). 
  14.  
  15. $ git push origin develop 

上述代碼中的–no-ff標記會使合并永遠創建一個新的commit對象,即使該合并能以fast-forward的方式進行。這么做可以避免丟失特性分支存在的歷史信息,同時也能清晰的展現一組commit一起構成一個特性。比較下面的圖:

在第2張圖中,已經無法一眼從Git歷史中看到哪些commit對象構成了一個特性——你需要閱讀日志以獲得該信息。在這種情況下,回退(revert)整個特性(一組commit)就會比較麻煩,而如果使用了–no-diff就會簡單很多。

是的,這么做會造成一些(空的)commit對象,但這么做是利大于弊的。

可惜的是,我沒能找到方法讓–no-diff成為默認的git merge行為參數,但其實應該這么做。

#p#

發布分支


可能的分支來源:develop

必須合并回:develop和master

分支命名約定:release-*

發布分支為準備新的產品版本發布做支持。它允許你在***時刻檢查所有的細節。此外,它還允許你修復小bug以及準備版本發布的元數據(例如版本號,構建日期等等)。在發布分支做這些事情之后,develop分支就會顯得比較干凈,也方便為下一大版本發布接受特性。

從develop分支創建發布分支的時間通常是develop分支(差不多)能反映新版本所期望狀態的時候。至少說,這是時候版本發布所計劃的特性都已經合并回了develop分支。而未來其它版本發布計劃的特性則不應該合并,它們必須等到當前的版本分支創建好之后才能合并。

正是在發布分支創建的時候,對應的版本發布才獲得一個版本號——不能更早。在該時刻之前,develop分支反映的是“下一版本”的相關變更,但不知道這“下一版本”到底會成為0.3還是1.0,直到發布分支被創建。版本號是在發布分支創建時,基于項目版本號規則確定的。

創建一個發布分支

發布分支從develop分支創建。例如,假設1.1.5是當前的產品版本,同時我們即將發布下個版本。develop分支的狀態已經是準備好“下一版本”發布了,我們也決定下個版本是1.2(而不是1.1.6或者2.0)。因此我們創建發布分支,并且為其賦予一個能體現新版本號的名稱:

  1. $ git checkout -b releases-1.2 develop 
  2.  
  3. Switched to a new branch “release-1.2” 
  4.  
  5. $ ./bump-version.sh 1.2 
  6.  
  7. Files modified successfully. version bumped to 1.2. 
  8.  
  9. $ git commit -a -m “Bumped version number to 1.2” 
  10.  
  11. [release-1.2 74d9424] Bumped version number to 1.2 
  12.  
  13. 1 files changed. 1 insertions(+). 1 deletions(-) 

創建新分支并轉到該分支之后,我們設定版本號。這里的bump-version.sh是一個虛構的shell腳本,它修改一些本地工作區的文件以體現新的版本號。(當然這也可以手動完成——這里只是說要有一些文件變更)接著,提交新版本號。

新的發布分支可能存在一段時間,直到該版本明確對外交付。這段時間內,該分支上可能會有一些bug的修復(而不是在develop分支上)。在該分支上添加新特性是嚴格禁止的。新特性必須合并到develop分支,然后等待下一個版本發布。

結束一個發布分支

當發布分支達到一個可以正式發布的狀態時,我們就需要執行一些操作。首先,將發布分支合并至master(記住,我們之前定義master分支上的每一個commit都對應一個新版本)。接著,master分支上的commit必須被打上標簽(tag),以方便將來尋找歷史版本。***,發布分支上的變更需要合并回develop,這樣將來的版本也能包含相關的bug修復。

前兩步在Git中的操作:

  1. $ git checkout master 
  2.  
  3. Switched to branch ‘master’ 
  4.  
  5. $ git merge –no-ff release-1.2 
  6.  
  7. Merge made by recursive. 
  8.  
  9. (Summary of changes) 
  10.  
  11. $ git tag -a 1.2 

現在版本發布完成了,而且為未來的查閱提供了標簽。

提醒:你可能同時也會想要用 -s 或者 -u <key> 來對標簽進行簽名。

為了能保留發布分支上的變更,我們還需要將分支合并回develop。在Git中:

  1. $ git checkout develop 
  2.  
  3. Switched to branch ‘develop’ 
  4.  
  5. $ git merge –no-ff release-1.2 
  6.  
  7. Merge made by recursive. 
  8.  
  9. (Summary of changes) 

這一操作可能會導致合并沖突(可能性還很大,因為我們改變了版本號)。如果發現,則修復之并提交。

現在工作才算真正完成了,***一步是刪除發布分支,因為我們已不再需要它:

  1. $ git branch -d release-1.2 
  2.  
  3. Deleted branch release-1.2 (was ff452fe). 

 #p#

熱補丁分支


可能的分支來源:master

必須合并回:develop和master

分支命名約定:hotfix-*

熱補丁分支和發布分支十分類似,它的目的也是發布一個新的產品版本,盡管是不在計劃中的版本發布。當產品版本發現未預期的問題的時候,就需要理解著手處理,這個時候就要用到熱補丁分支。當產品版本的重大bug需要立即解決的時候,我們從對應版本的標簽創建出一個熱補丁分支。

使用熱補丁分支的主要作用是(develop分支上的)團隊成員可以繼續工作,而另外的人可以在熱補丁分支上進行快速的產品bug修復。

創建一個熱補丁分支

熱補丁分支從master分支創建。例如,假設1.2是當前正在被使用的產品版本,由于一個嚴重的bug,產品引起了很多問題。同時,develop分支還處于不穩定狀態,無法發布新的版本。這時我們可以創建一個熱補丁分支,并在該分支上修復問題:

  1. $ git checkout -b hotfix-1.2.1 master 
  2.  
  3. Switched to a new branch “hotfix-1.2.1″ 
  4.  
  5. $ ./bump-version.sh 1.2.1 
  6.  
  7. Files modified successfully, version bumped to 1.2.1. 
  8.  
  9. $ git commit -a -m “Bumped version number to 1.2.1″ 
  10.  
  11. [hotfix-1.2.1 41e61bb] Bumped version number to 1.2.1 
  12.  
  13. 1 files changed, 1 insertions(+), 1 deletions(-) 

不要忘了在創建熱補丁分之后設定一個新的版本號!

然后,修復bug并使用一個或者多個單獨的commit提交。

  1. $ git commit -m “Fixed severe production problem” 
  2.  
  3. [hotfix-1.2.1 abbe5d6] Fixed severe production problem 
  4.  
  5. 5 files changed, 32 insertions(+), 17 deletions(-) 

結束一個熱補丁分支

修復完成后,熱補丁分支需要合并回master,但同時它還需要被合并回develop,這樣相關的修復代碼才會同時被包含在下個版本中。這與我們完成發布分支很類似。

首先,更新master分支并打上標簽。

  1. $ git checkout master 
  2.  
  3. Switched to branch ‘master’ 
  4.  
  5. $ git merge –no-ff hotfix-1.2.1 
  6.  
  7. Merge made by recursive. 
  8.  
  9. (Summary of changes) 
  10.  
  11. $ git tag -a 1.2.1 

提醒:你可能同時也會想要用 -s 或者 -u <key> 來對標簽進行簽名。

接著,將修復代碼合并到develop:

  1. $ git checkout develop 
  2.  
  3. Switched to branch ‘develop’ 
  4.  
  5. $ git merge –no-ff hotfix-1.2.1 
  6.  
  7. Merge made by recursive. 
  8.  
  9. (Summary of changes) 

這里還有個例外情況,如果這個時候有發布分支存在,熱補丁分支的變更則應該合并至發布分支,而不是develop。將熱補丁合并到發布分支,也意味著當發布分支結束的時候,變更最終會被合并到develop。(如果develop上的開發工作急需熱補丁并無法等待發布分支完成,這時你也已經可以安全地將熱補丁合并到develop分支。)

***,刪除臨時的熱補丁分支:

  1. $ git branch -d hotfix-1.2.1 
  2.  
  3. Deleted branch hotfix-1.2.1 (was abbe5d6). 

小結


雖然這個分支模型中沒有什么特別新鮮的東西,但本文起始處的“全景圖”事實上在我們的項目中起到了非常大的作用。它幫助建立了優雅的,易理解的概念模型,使得團隊成員能夠快速建立并理解一個公用的分支和發布過程。

責任編輯:奔跑的冰淇淋 來源: Linux中國
相關推薦

2015-10-10 11:09:48

NFVNFVI網絡虛擬化

2021-05-24 10:38:54

數據數據策略業務

2015-08-19 09:29:35

Git協議編寫

2014-08-08 10:20:23

Git版本管理系統

2016-08-05 12:58:44

GitLinux開源

2015-04-30 08:03:36

2022-05-25 16:51:41

Git 分支重命名開發者

2017-02-23 14:30:09

SpringhibernateJava

2020-12-10 10:29:32

大數據科學數據科學

2009-02-10 09:06:21

DBA數據庫DB2

2009-08-18 17:19:33

C#事件模型

2023-04-24 12:57:01

數據中心綜合布線

2017-11-07 11:36:57

開源項目代碼

2022-08-11 15:45:13

Git

2020-05-28 10:45:31

Git分支合并

2020-07-09 08:00:25

Git分支模式

2023-12-01 11:05:29

Git 分支

2025-07-31 00:00:15

2022-10-26 09:22:19

git命令Linux

2022-11-07 08:01:18

Git分支管理
點贊
收藏

51CTO技術棧公眾號

综合国产精品久久久| 国内精品一区二区三区| 亚洲怡红院在线| 污污的网站在线免费观看| 成人激情文学综合网| 欧美在线观看网站| 在线观看美女av| 久久99国产精品久久99大师 | 欧美激情精品久久| 欧美天堂影院| 91精品国产综合久久精品图片| 2018国产在线| 免费在线看v| 蜜臀av性久久久久蜜臀aⅴ流畅 | 97av中文字幕| 国产玉足榨精视频在线观看| 国产毛片精品一区| 国产aⅴ夜夜欢一区二区三区 | 一本一道综合狠狠老| 日韩最新中文字幕| 国产视频三级在线观看播放| 国产**成人网毛片九色| 国产精品一二三视频| 青青操免费在线视频| 香港欧美日韩三级黄色一级电影网站| 日韩国产高清视频在线| 精品无码av一区二区三区| 久久精品国产福利| 色视频一区二区| 欧美极品欧美精品欧美| 亚洲妇熟xxxx妇色黄| 中文字幕色av一区二区三区| 免费成人看片网址| 丰满人妻一区二区三区四区53| 久久激情五月激情| 国产精品成人观看视频国产奇米| 欧美特级一级片| 国产精品毛片一区二区在线看| 亚洲天堂av图片| 久久久久亚洲av无码专区桃色| av日韩精品| 欧美va在线播放| 免费欧美一级片| а天堂中文最新一区二区三区| 色狠狠色狠狠综合| 国产精品秘入口18禁麻豆免会员 | 高清欧美性猛交xxxx黑人猛交| 久久久久麻豆v国产| 精品久久中文| 亚洲天堂第二页| 亚洲国产日韩一区无码精品久久久| 欧美日韩导航| 日韩av影视在线| 亚洲国产第一区| 香蕉久久99| 亚洲图片欧美日产| 亚洲性猛交xxxx乱大交| 精品久久成人| 中国人与牲禽动交精品| 国产精品久久久视频| 成人影视亚洲图片在线| 最近2019中文字幕大全第二页| 网爆门在线观看| 91tv官网精品成人亚洲| 欧美黄色小视频| 91香蕉在线视频| 久久最新视频| 国产精品自在线| 99久久久国产精品无码网爆| 国产精品亚洲第一区在线暖暖韩国| 亚洲一区二区三区毛片| 亚洲精华国产精华精华液网站| 成人污视频在线观看| 激情五月综合色婷婷一区二区| 天堂影院在线| 国产精品久久久久久久久搜平片| 中文有码久久| 国产在线xxx| 一本久久a久久精品亚洲| 国产福利影院在线观看| 国产精选久久| 日韩精品欧美激情| 国产精品综合激情| 欧美xxx在线观看| 97免费中文视频在线观看| 台湾佬中文在线| 精一区二区三区| 成人区精品一区二区| 免费成人av电影| 亚洲男人天堂一区| 18禁免费无码无遮挡不卡网站| **欧美日韩在线观看| 欧美一区二区视频网站| 国产精品探花一区二区在线观看| 精品日韩欧美一区| 九九视频这里只有精品| 成人毛片在线播放| 国产一区二三区| 美女被啪啪一区二区| 嫩草在线视频| 精品久久久国产| 久久久精品视频国产| 牛牛影视久久网| 精品国产美女在线| 日韩精品在线观看免费| 精品午夜一区二区三区在线观看| 国产亚洲自拍偷拍| 成人在线免费看片| 在线一区二区观看| 亚洲中文字幕一区| 综合激情视频| 国产精品毛片a∨一区二区三区|国| 精品国产无码一区二区三区| 国产人成亚洲第一网站在线播放| 国产911在线观看| 91tv亚洲精品香蕉国产一区| 亚洲第一页在线| 日本中文在线视频| 日本视频在线一区| 国内精品久久久久久久果冻传媒| 久cao在线| 欧美亚一区二区| 亚洲熟女乱综合一区二区三区| 久久久久免费av| 国产精品久久色| 三级av在线| 精品久久久久久国产91| 亚洲欧美激情一区二区三区| 欧美国产偷国产精品三区| 欧洲亚洲免费在线| 天天干天天操av| 一个色综合av| 久久精品视频在线观看免费| 日韩免费在线| 国产精品久久久久久久久男| 欧美黄色小说| 欧美日韩免费在线| 国产 中文 字幕 日韩 在线| 亚洲欧洲日本一区二区三区| 成人免费在线看片| 福利小视频在线| 日韩视频免费观看高清完整版在线观看| 亚欧精品视频一区二区三区| 日韩综合小视频| 欧美亚州在线观看| 怡红院成人在线| 一区二区在线视频| 久久久蜜桃一区二区| 久久久精品黄色| 国产男女激情视频| 精品国产欧美日韩| 国产精品91久久久久久| 国产午夜精品一区理论片| 一本大道av伊人久久综合| 强伦人妻一区二区三区| 久久一区视频| 亚洲欧美成人一区| 欧美男男gaygay1069| 久久国产精品久久久久| 精品久久久久成人码免费动漫| 亚洲女女做受ⅹxx高潮| 99久久久无码国产精品性波多 | 国产精品美女久久福利网站| 欧美日韩一区二区三区69堂| 天天做天天爱天天综合网2021| 91视频国产高清| 国精一区二区三区| 亚洲欧美日韩一区二区在线| 欧美性受xxx黑人xyx性爽| 国产精品沙发午睡系列990531| 色呦色呦色精品| 国内精品福利| 欧美成人综合一区| 亚洲日本在线观看视频| 久久视频国产精品免费视频在线| 亚洲成人精品女人久久久| 欧美日韩免费区域视频在线观看| 亚洲国产天堂av| 国产一区二区女| 妞干网在线观看视频| 国产午夜一区| 91亚洲精品一区| 男人久久天堂| 久久久99免费视频| 污视频在线免费| 欧美性大战久久久久久久蜜臀 | 精品久久久久久电影| 少妇一级黄色片| 成人中文字幕在线| 无码少妇一区二区三区芒果| 欧美69wwwcom| 欧美日韩亚洲在线| 国产美女精品视频免费播放软件| 97精品国产97久久久久久春色| 成人性爱视频在线观看| 日韩欧美自拍偷拍| 亚洲男人天堂网址| 亚洲一卡二卡三卡四卡五卡| 波多野在线播放| 成人污污视频在线观看| 男女视频在线看| 亚洲一区二区免费看| 中文字幕日韩精品一区二区| 婷婷成人综合| 成人片在线免费看| 欧美91在线|欧美| 浅井舞香一区二区| 国内小视频在线看| 久久色在线播放| 777电影在线观看| 精品五月天久久| 欧美特级特黄aaaaaa在线看| 欧美人牲a欧美精品| 黄色免费av网站| 亚洲午夜精品久久久久久久久| 成人欧美一区二区三区黑人一| 99久久伊人精品| 蜜臀av粉嫩av懂色av| 韩国成人在线视频| 一本色道久久亚洲综合精品蜜桃| 国产精品久久国产愉拍| 日本黄色片一级片| 综合一区av| 最新国产精品久久| 日韩免费高清| 午夜精品福利一区二区| 亚洲人成网www| 国内精品国语自产拍在线观看| 国产日韩欧美中文在线| 国产欧美一区二区白浆黑人| 欧洲一级精品| 国产成人高潮免费观看精品| 午夜影院在线播放| 韩国一区二区电影| 国产在线xxx| 久久人人爽人人| 丰满诱人av在线播放| 色综合久久88| 好看的中文字幕在线播放| 色综合老司机第九色激情| 91小视频xxxx网站在线| 久久久成人的性感天堂| 久热国产在线| 久久亚洲精品小早川怜子66| 欧美成年黄网站色视频| 久久久国产一区二区三区| 成人福利在线观看视频| 欧美成人在线网站| av在线下载| 欧美激情视频一区| av美女在线观看| 欧美中文在线观看| 日本成人三级电影| 国产精品扒开腿做爽爽爽男男| 欧美成人资源| 7777精品视频| 成人软件在线观看| 成人国产精品久久久久久亚洲| 日韩三级成人| 91精品国产99久久久久久红楼 | 成人软件在线观看| 国产精品美女久久久久久免费| 国产亚洲欧美日韩精品一区二区三区 | 精品一区在线看| 91精品国产高清91久久久久久| 成人午夜在线播放| 日韩中文字幕电影| 欧美激情一区二区三区全黄 | 高清福利在线观看| 精品国产区一区二区三区在线观看| 好吊日视频在线观看| 欧美激情视频在线| 日韩免费va| 91在线播放国产| 丁香5月婷婷久久| 久久久com| 91欧美在线| www.xxx麻豆| 日韩精品视频网站| 亚洲高清av一区二区三区| 99久久精品免费观看| 免费视频91蜜桃| 樱桃视频在线观看一区| 亚洲综合久久网| 91精品国产综合久久久久久久久久| 亚洲AV无码乱码国产精品牛牛| 日韩精品视频免费在线观看| 1024国产在线| 国模私拍视频一区| 六九午夜精品视频| 精品伦精品一区二区三区视频| 久久国产精品亚洲人一区二区三区 | 美国美女黄色片| 亚洲午夜三级在线| 丰满人妻一区二区三区四区| 日韩一区二区三区电影在线观看 | 蜜桃av中文字幕| 色爱av美腿丝袜综合粉嫩av| 超碰97免费在线| 成人夜晚看av| 欧美人与拘性视交免费看| 国产911在线观看| 美国一区二区三区在线播放| 国产婷婷在线观看| 亚洲婷婷在线视频| www.久久视频| 亚洲精品wwww| 污污影院在线观看| 国产精品爽爽爽爽爽爽在线观看| 第四色在线一区二区| 亚洲自拍偷拍一区二区三区| 日韩高清欧美激情| 亚洲av成人精品一区二区三区| 中文字幕乱码一区二区免费| av中文在线播放| 精品日韩在线观看| 免费在线午夜视频| 国产成人极品视频| 国偷自产av一区二区三区| 91免费视频黄| 久久国产尿小便嘘嘘| 亚洲自拍偷拍一区二区| 亚洲成年人网站在线观看| 国产美女自慰在线观看| 在线观看欧美www| 成人免费直播| 久久久神马电影| 99热这里只有精品8| 午夜福利三级理论电影 | 亚洲精品77777| 精品久久久久久久久久久久久久久久久| 天天综合视频在线观看| 国产成人一区二区三区电影| 日韩高清三区| 免费成人午夜视频| 99re视频精品| 国产精品100| 日韩精品在线私人| 亚洲色图官网| 清纯唯美一区二区三区| 久久福利影视| 中文字幕有码在线播放| 91福利在线导航| 91网在线播放| 国产日韩av高清| 国产精品久久久久一区二区三区厕所 | 捆绑调教美女网站视频一区| 无码少妇精品一区二区免费动态| 色综合久久99| 自拍视频在线| 国产在线观看一区二区三区| 亚洲91视频| 色婷婷狠狠18禁久久| 精精国产xxxx视频在线野外| 亚洲国产一区二区三区| 一级片视频免费| 久久婷婷国产麻豆91天堂| 国产一区二区久久久久| 一本大道东京热无码aⅴ| 国产91丝袜在线播放九色| 日本少妇裸体做爰| 亚洲精品国产精品国产自| 国产综合色区在线观看| 一区二区91美女张开腿让人桶| 国产一区二区伦理| 国产在线观看免费av| 亚洲人成在线观| 在线免费成人| 日本a在线免费观看| 欧美激情在线一区二区三区| 国产麻豆免费观看| 欧美国产日韩视频| 清纯唯美亚洲经典中文字幕| 人妻丰满熟妇av无码区app| 中文字幕一区二区三区乱码在线 | 日韩写真欧美这视频| 69av成人| 日韩亚洲不卡在线| 国产伦精品一区二区三区视频青涩| 中文字幕第28页| 在线观看精品国产视频| 99ri日韩精品视频| 欧美少妇性生活视频| 亚洲欧美视频在线观看视频| 丰满少妇在线观看bd| 国产精品久久久久久亚洲影视| 欧美激情1区| 在线小视频你懂的| 日韩亚洲欧美综合| 欧美日韩美女| 韩国无码av片在线观看网站| 久久精品日产第一区二区三区高清版| 国产毛片毛片毛片毛片| 2023亚洲男人天堂| 欧美在线黄色| 男人天堂av电影| 亚洲国产高清福利视频| 狠狠久久伊人中文字幕| 日韩中文字幕在线视频观看 | 久久露脸国语精品国产91|