久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Git之深入解析工作流程、常用命令与Reset模式分析

發布時間:2024/5/21 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Git之深入解析工作流程、常用命令与Reset模式分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Git 工作流程

① 工作區域

  • 四個區:
    • Workspace:工作區
    • Index / Stage:暫存區(和 git stash 命令暫存的地方不一樣)
    • Repository:倉庫區(或本地倉庫)
    • Remote:遠程倉庫
  • 五種狀態:
    • 未修改 Origin
    • 已修改 Modified
    • 已暫存 Staged
    • 已提交 Committed
    • 已推送 Pushed

  • 工作區:
    • 程序員進行開發改動的地方,是我們當前看到的,也是最新的。
    • 平常我們開發就是拷貝遠程倉庫中的一個分支,基于該分支進行開發。在開發過程中就是對工作區的操作。
  • 暫存區:
    • .git 目錄下的 index 文件,暫存區會記錄 git add 添加文件的相關信息(文件名、大小、timestamp,…),不保存文件實體,通過 id 指向每個文件實體。可以使用 git status 查看暫存區的狀態,暫存區標記了當前工作區中,哪些內容是被 git 管理的。
    • 當完成某個需求或功能后需要提交到遠程倉庫,那么第一步就是通過 git add 先提交到暫存區,被 git 管理。
  • 本地倉庫:
    • 保存了對象被提交過的各個版本,比起工作區和暫存區的內容,它要更舊一些。
    • git commit 后同步 index 的目錄樹到本地倉庫,方便從下一步通過 git push 同步本地倉庫與遠程倉庫的同步。
  • 遠程倉庫:
    • 遠程倉庫的內容可能被分布在多個地點的處于協作關系的本地倉庫修改,因此它可能與本地倉庫同步,也可能不同步,但是它的內容是最舊的。
    • 初始化遠程倉庫:
$ git init $ git add README.md $ git commit -m "first commit"
    • 關聯遠程倉庫:當使用上述命令來關聯遠程服務器倉庫的時候,本地 .git 目錄也是會發生改變的,通過命令查看 .git/config 文件的話,可以看到配置文件中出現了 [remote] 字段:
# 關聯遠程倉庫 $ git remote add origin git@github.com:escapelife/git-demo.git ? cat .git/config [core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = trueignorecase = trueprecomposeunicode = true[remote "origin"]url = git@github.com:escapelife/git-demo.gitfetch = +refs/heads/*:refs/remotes/origin/*
    • 推送本地分支:
      • 當執行如下命令,將本地 master 分支推送到遠程 origin 倉庫的 master 分支之后,登錄 GitHub 就可以看到推送的文件及目錄內容。
      • 推送分支內容的時候,會列舉推送的 objects 數量,并將其內容進行壓縮,之后推送到遠程的 GitHub 倉庫,并且創建一個遠程的 master 分支(origin 倉庫)。
# 推送本地分支 $ git push -u origin master
    • 推送之后,可以發現,本地的 .git 生成一些文件和目錄,它們都是什么呢?如下所示,會新增四個目錄和兩個文件,皆為遠程倉庫的信息,當通過命令查看 master 這個文件的內容時,會發現其也是一個 commit 對象。此時與本地 master 分支所指向的一致,而其用于表示遠程倉庫的當前版本,用于和本地進行區別和校對的:
? tree .git ├── logs │ ├── HEAD │ └── refs │ ├── heads │ │ ├── dev │ │ ├── master │ │ └── tmp │ └── remotes # 新增目錄 │ └── origin # 新增目錄 │ └── master # 新增文件 └── refs├── heads│ ├── dev│ ├── master│ └── tmp├── remotes # 新增目錄│ └── origin # 新增目錄│ └── master # 新增文件└── tags
  • 小結
    • 任何對象都是在工作區中誕生和被修改;
    • 任何修改都是從進入 index 區才開始被版本控制;
    • 只有把修改提交到本地倉庫,該修改才能在倉庫中留下痕跡;
    • 與協作者分享本地的修改,可以把它們 push 到遠程倉庫來共享。
    • 如下所示,直接闡述了四個區域之間的關系:

② 分支管理

  • 團隊開發中,遵循一個合理、清晰的 Git 使用流程,是非常重要的,否則每個人都提交一堆雜亂無章的 commit,項目很快就會變得難以協調和維護。
  • develop 分支 - 開發分支:
    • develop 分支作為常駐開發分支,用來匯總下個版本的功能提交,在下個版本的 release 分支創建之前不允許提交非下個版本的功能到 develop 分支;
    • develop 分支內容會自動發布到內網開發環境,確保 develop 分支隨時可編譯、可運行,上面的功能模塊是相對穩定、干凈的,隨時可以在 develop 上拉 feature 分支進行開發。
  • feature 分支 - 功能分支:
    • 對于新功能開發,應從 develop 上切出一個 feature 分支進行開發,命名格式為 feature/project,其中功能名使用小寫單詞結合中劃線連綴方式,如 feature/update-web-style;
    • feature 分支進行編譯通過并自測通過后,再合并到主干 develop 分支上。
  • 補丁分支 - hotfix branch:
    • 所謂補丁分支,就是當代碼已經部署到了正式環境之后發現沒有預測到底 Bug 時,通過補丁分支進行修改之后,生成補丁進行修復;
    • 當然也可以說不使用布丁分支,重新發布新版本也是可以的,但是這樣還是不太合理。
  • master 分支 - 主分支:
    • 當 develop 分支開發完成一個版本的時候,測試沒有問題之后就可以將其提交之后合并到 master 分支,master 分支內容會自動發布到內網正式環境;
    • 需要注意的是,一般情況從開發分支合入到主干分支不會有代碼沖突的,如果有的話那就是沒有按照上述流程嚴格執行的結果。
  • release 分支 - 預發布分支:
    • 最后就到了發包的最后階段,將已經在 master 內網正式環境上測試沒有問題的版本合入 release 分支,打包給客戶部署或者更新線上環境,完成最后的更新操作。

③ 代碼規范

  • 提交代碼其實是有很多講究的,如果都按照自己的想法隨意的提交代碼,到最后自己都不知道當時這次提交到底是為了解決什么問題,良好的代碼提交習慣即有利于自己之后的審查,也有助于其他人觀看,同時利用腳本來提取有價值的信息,如查看人個人的工作量,每日的工作任務等。
  • 提交模板 - commit model,我們更多使用的是如下簡化版 commit 模板:
# 模板格式 <提交類型>-<項目名稱>: <本次代碼提交的動機># 示例說明 feat-Pandas: update runtime to V1.3.0
  • 類型分類 - brand list:
提交類型類型說明使用頻率
feat增加新功能
fix修復 Bug
perf提高性能的代碼
style編碼規范或風格上的修改,不影響功能
docs僅改變項目文檔
build改變項目構建流程或包依賴
ci改變 CI 配置或執行腳本
test添加缺失測試或更正現有測試
refactor代碼更改既不修復錯誤也不添加功能

④ 使用技巧

  • 代碼合并 - pull request:
    • 功能分支合并進 master 分支,必須通過 Pull Request 操作,在 Gitlab 里面叫做 Merge Request。
    • Pull Request 本質其實就是一種對話機制,你可以在提交的時候附加上有用的信息,并 @ 相關的核心開發者或團隊,引起他們的注意,讓他們為了的代碼把好最后一道關卡,保證你的代碼質量。

  • 分支保護 - protected branch:
    • master 分支應該受到保護,不是每個人都可以修改這個分支,以及擁有審批 Pull Request 的權力;
    • Github 和 Gitlab 都提供“保護分支”的功能。

  • 新建問題 - issue:
    • Issue 用于Bug 追蹤和需求管理,建議先新建 Issue,再新建對應的功能分支;
    • 功能分支總是為了解決一個或多個 Issue,功能分支的名稱,可以與 issue 的名字保持一致,并且以 issue 的編號起首,比如 15-change-password;
    • 開發完成后,在提交說明里面,可以寫上"fixes #15" 或者 “closes #67”;
    • Github 和 gitlab 規定,只要 commit message 里面有下面這些動詞+編號,就會關閉對應的 issue。
# 以下詞語都可以關閉對應issue close closes closed fix fixes fixed resolve resolves resolved
    • 這種方式還可以一次關閉多個 issue,或者關閉其他代碼庫的 issue,格式是 username/repository#issue_number。Pull Request 被接受以后,issue 關閉,原始分支就應該刪除,如果以后該 issue 重新打開,新分支可以復用原來的名字。
  • 沖突解決 - merge:
    • Git 有兩種合并:一種是 “直進式合并”(fast forward)不生成單獨的合并節點;另一種是 “非直進式合并” (none fast-forword)會生成單獨節點;
    • 前者不利于保持 commit 信息的清晰,也不利于以后的回滾,建議總是采用后者(即使用 --no-ff 參數)只要發生合并,就要有一個單獨的合并節點。
  • 合并提交 - squash:
    • 為了便于他人閱讀你的提交,也便于 cherry-pick 或撤銷代碼變化,在發起 Pull Request 之前,應該把多個 commit 合并成一個。

    • 前提是,該分支只有你一個人開發,且沒有跟 master 合并過,這可以采用 rebase 命令附帶的 squash 操作:

# 第一步:新建分支 $ git checkout master $ git pull $ git checkout -b myfeature# 第二步:提交分支 $ git add . $ git status $ git commit -m "this is a test."# 第三步:與主干同步 $ git fetch origin $ git rebase origin/master# 第四步:合并多個commit為一個 # i參數表示互動并打開一個互動界面進行下一步操作 # 會列出當前分支最新的幾個commit,越下面越新 # 默認是pick類型,squash和fixup可以用來合并commit $ git rebase -i origin/master pick 07c5abd Introduce OpenPGP and teach basic usage s de9b1eb Fix PostChecker::Post#urls s 3e7ee36 Hey kids, stop all the highlighting pick fa20af3 git interactive rebase, squash, amend# 第六步:推送到遠程倉庫并發出合并請求 # 要加上force參數是因為rebase以后分支歷史改變 $ git push --force origin myfeature 編號參數類型使用說明
1p/pick正常選中
2r/reword正常選中,并且修改提交信息
3e/edit正常選中,rebase 時會暫停,允許你修改這個 commit
4s/squash正常選中,會將當前 commit 與上一個 commit 合并
5f/fixup與 squash 相同,但不會保存當前 commit 的提交信息
6x/exec執行其他 shell 命令

二、常用的 Git 命令

① HEAD

  • 在掌握具體命令前,先理解下 HEAD:

  • HEAD 始終指向當前所處分支的最新的提交點,所處的分支變化了,或者產生了新的提交點,HEAD 就會跟著改變。

② init

  • 執行 git init,完成如下命令之后,可以得到下圖所示的內容,右側的就是 git 創建的代碼倉庫,其中包含了用于版本管理所需要的內容:
$ mkdir git-demo $ cd git-demo && git init $ rm -rf .git/hooks/*.sample# 右邊執行 $ watch -n 1 -d find .

  • 生成的 .git 目錄的結構如下:
? tree .git .git ├── HEAD ├── config ├── description ├── hooks ├── info │ └── exclude ├── objects │ ├── info │ └── pack └── refs├── heads└── tags
  • .git/config - 當前代碼倉庫本地的配置文件:
    • 本地配置文件(.git/config)和全局配置文件(~/.gitconfig);
    • 通過執行如下命令,可以將用戶配置記錄到本地代碼倉庫的配置文件中去;
    • git config user.name “demo”;
    • git config user.email “demo@demo.com”。
? cat .git/config [core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = trueignorecase = trueprecomposeunicode = true[user]name = demoemail = demo@demo.com
  • .git/objects - 當前代碼倉庫代碼的存儲位置:
    • blob 類型;
    • commit 類型;
    • tree 類型。
# 均無內容 ? ll .git/objects total 0 drwxr-xr-x 2 escape staff 64B Nov 23 20:39 info drwxr-xr-x 2 escape staff 64B Nov 23 20:39 pack? ll .git/objects/info ? ll .git/objects/pack
  • .git/info - 當前倉庫的排除等信息:
? cat ./.git/info/exclude # git ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): # *.[oa] # *~
  • .git/hooks - 當前代碼倉庫默認鉤子腳本:
./.git/hooks/commit-msg.sample ./.git/hooks/pre-rebase.sample ./.git/hooks/pre-commit.sample ./.git/hooks/applypatch-msg.sample ./.git/hooks/fsmonitor-watchman.sample ./.git/hooks/pre-receive.sample ./.git/hooks/prepare-commit-msg.sample ./.git/hooks/post-update.sample ./.git/hooks/pre-merge-commit.sample ./.git/hooks/pre-applypatch.sample ./.git/hooks/pre-push.sample ./.git/hooks/update.sample
  • .git/HEAD - 當前代碼倉庫的分支指針:
? cat .git/HEAD ref: refs/heads/master
  • .git/refs - 當前代碼倉庫的頭指針:
# 均無內容 ? ll .git/refs total 0 drwxr-xr-x 2 escape staff 64B Nov 23 20:39 heads drwxr-xr-x 2 escape staff 64B Nov 23 20:39 tags? ll .git/refs/heads ? ll .git/refs/tags
  • .git/description - 當前代碼倉庫的描述信息:
? cat .git/description Unnamed repository; edit this file 'description' to name the repository.

③ add

  • add 主要實現將工作區修改的內容提交到暫存區,交由 git 管理:
命令描述
git add添加當前目錄的所有文件到暫存區
git add < dir>添加指定目錄到暫存區,包括子目錄
git add < file1>添加指定文件到暫存區
  • 執行完成如下命令之后,可以得到下圖所示的內容,可以發現右側新增了一個文件,但是 git 目錄里面的內容絲毫沒有變化,這是因為,現在執行的修改默認是放在工作區的,而工作區里面的修改不歸 git 目錄去管理:
# 左邊執行 $ echo "hello git" > helle.txt $ git status $ git add hello.txt# 右邊執行 $ watch -n 1 -d find .


  • 生成的 8d 目錄以及下面的文件,而其名稱的由來是因為 git 對其進行了一個叫做 SHA1 的 Hash 算法,用于將文件內容或者字符串變成這么一串加密的字符:
# 查看objects的文件類型 $ git cat-file -t 8d0e41 blob# 查看objects的文件內容 $ git cat-file -p 8d0e41 hello git# 查看objects的文件大小 $ git cat-file -s 8d0e41 10# 拼裝起來 blob 10\0hello git
  • 執行 git add 命令將文件從工作區添加到暫存區里面,git 會把幫助我們生成一些 git 的對象,它存儲的是文件的內容和文件類型并不存儲文件名稱。
  • 為了驗證上述的說法,可以添加同樣的內容到另一個文件,然后進行提交,來觀察 .git 目錄的變化。可以看到,右側的 objects 目錄并沒有新增目錄和文件,這就可以證明,blob 類型的 object 只存儲的是文件的內容,如果兩個文件的內容一致的話,則只需要存儲一個 object 即可。
  • 那么 object 為什么沒有存儲文件名稱呢?這里因為 SHA1 的 Hash 算法計算哈希的時候,本身就不包括文件名稱,所以取什么名稱都是無所謂的。
# 左邊執行 $ echo "hello git" > tmp.txt $ git add tmp.txt# 右邊執行 $ watch -n 1 -d find .

④ commit

  • commit 主要實現將暫存區的內容提交到本地倉庫,并使得當前分支的 HEAD 向后移動一個提交點:
命令描述
git commit -m 提交暫存區到本地倉庫,message 代表說明信息
git commit -m 提交暫存區的指定文件到本地倉庫
git commit --amend -m 使用一次新的 commit,替代上一次提交
  • Git 倉庫中的提交記錄保存的是我們的目錄下所有文件的快照,就像是把整個目錄復制,然后再粘貼一樣,但比復制粘貼優雅許多。Git 希望提交記錄盡可能地輕量,因此在每次進行提交時,它并不會盲目地復制整個目錄,條件允許的情況下,它會將當前版本與倉庫中的上一個版本進行對比,并把所有的差異打包到一起作為一個提交記錄,Git 還保存提交的歷史記錄,這也是為什么大多數提交記錄的上面都有父節點的原因。
  • 當使用 add 命令將工作區提交到暫存區,而暫存區其實保存的是當前文件的一個狀態,其中包括有哪些目錄和文件,以及其對應的大小和內容等信息,但是最終是需要將其提交到代碼倉庫(本地)的,而其命令就是 git commit:

  • 而當執行 git commit 命令的時候,究竟都發生了什么呢?可以看到當提交之后,.git 目錄中生成了兩個信息的 object 對象,其中 logs 和 refs 目錄都有新的文件生成。通過如下操作,可以查看到其提交的類型和對應內容:
# 左邊執行 $ git commit -m "1st commit"$ git cat-file -t 6e4a700 # 查看commit對象的類型 $ git cat-file -p 6e4a700 # 查看commit對象的內容$ git cat-file -t 64d6ef5 # 查看tree對象的類型 $ git cat-file -p 64d6ef5 # 查看tree對象的內容# 右邊執行 $ watch -n 1 -d tree .git

  • 當執行 git commit 命令之后,會生成一個 commit 對象和一個 tree 對象,commit 對象內容里面包含一個 tree 對象和相關提交信息,而 tree 對象里面則包含這次提交版本里面的文件狀態(文件名稱和 blob 對象),這樣就知道了這次提交的變動:

  • 這次提交之后,處理 objects 目錄發生變動之外,還有一些其他的變化,比如 logs 和 refs 的目錄有所變化。再查看 refs 目錄里面的內容,發現其指向 6e4a70 這個 commit 對象,即當前 master 分支上面最新的提交就是這個 6e4a70。
  • 而這個 6e4a70 這個 commit 對象,有一個 HEAD 的指向,就是 .git 目錄下的 HEAD 文件,其實質就是一個指針,其永遠指向我們當前工作的分支,即這里我們工作在 master 分支上。當切換分支的時候,這個文件的指向也會隨機改變的。
# 左邊執行 $ cat .git/refs/heads/master $ cat .git/HEAD# 右邊執行 $ watch -n 1 -d tree .git

  • 當再次對 file2.txt 文件的內容進行變更、添加以及提交之后,發現在提交的時候,查看的 commit 對象的內容時,其包含有父節點的 commit 信息:
$ echo "file2.txt" > file2.txt $ git status $ git add file2.txt $ git ls-files -s $ git cat-file -p 0ac9638 $ git commit -m "2nd commit" $ git cat-file -p bab53ff $ git cat-file -p 2f07720# 右邊執行 $ watch -n 1 -d tree .git

  • Git 版本的提交流向如下:

  • 在 Git 中空文件夾是不算在追蹤范圍內的,而且添加文件夾并不會增加 object 對象,當查看 index 內容的時候,會發現文件名稱是包含相對路徑的。
  • 而當通過 commit 命令提交之后,會發現生成了三個 object 對象,因為 commit 操作不會生成 blob 對象,所以分別是一個 commit 對象和兩個 tree 對象。可以發現,tree 對象里面有包含一個目錄的 tree,其里面包含對象文件內容。
  • 下圖所示的文件狀態,可以體會到 git 中版本的概念,即 commit 對象指向一個該版本中的文件目錄樹的根(tree),然后 tree 在指向 blob 對象(文件)和 tree 對象(目錄),這樣就可以無限的往復下去形成一個完整的版本:
$ mkdir floder1 $ echo "file3" > floder1/file3.txt $ git add floder1 $ git ls-files -s $ git commit -m "3rd commit" $ git cat-file -p 1711e01 $ git cat-file -p 9ab67f8$ watch -n 1 -d tree .git

⑤ checkout

  • 當執行 checkout 命令的時候,其不光可以切換分支,而且可以切換到指定的 commit 上面,即 HEAD 文件會指向某個 commit 對象。在 Git 里面,將 HEAD 文件沒有指向 master 的這個現象稱之為 detached HEAD。這里不管 HEAD 文件指向的是分支名稱也好,是 commit 對象也罷,其實本質都是一樣的,因為分支名稱也是指向某個 commit 對象的。

  • 執行如下命令,結果如下:
# 左邊執行 $ git checkout 6e4a700 $ git log# 右邊執行 $ glo = git log

  • 當切換到指定的 commit 的時候,如果需要在對應的 commit 上繼續修改代碼提交的話,可以使用上文提及的 swtich 命令創建新分支,再進行提交。但是,通常我們都不會這么玩,都會使用 checkout 命令來創建新分支的:
$ git checkout -b tmp $ git log
  • 即使可以這樣操作,我們也很少使用,創建的 dev 分支的時候,創建該分支并有了一個新的提交,但是沒有合并到 master 分支就直接刪除,就無法再“看到”。其實,在 Git 里面任何的操作,比如分支的刪除,它只是刪除了指向某個特定 commit 的指針引用而已,而那個 commit 本身并不會被刪除,即 dev 分支的那個 commit 提交還是在的。
  • 那怎么找到這個 commit 呢?
    • 第一種方法:在 objects 目錄下面,自己一個一個看,然后切換過去;
    • 第二種方法:使用 Git 提供的 git reflog 專用命令來查找,該命令的作用就是用于將之前的所有操作都記錄下來。
# 左邊執行 $ git reflog $ git checkout 9fb7a14 $ git checkout -b dev# 右邊執行 $ glo = git log


⑥ branch

  • 涉及到協作,自然會涉及到分支。關于分支,大概有四種操作:
    • 展示分支
    • 切換分支
    • 創建分支
    • 刪除分支
  • 分支是用來標記特定代碼的提交,每一個分支通過 SHA1sum 值來標識,所以對分支的操作是輕量級的,改變的僅僅是 SHA1sum 值:
命令描述
git branch列出所有本地分支
git branch -r列出所有遠程分支
git branch -a列出所有本地分支和遠程分支
git branch < branch-name>新建一個分支,但依然停留在當前分支
git checkout -b < branch-name>新建一個分支,并切換到該分支
git branch --track < branch>新建一個分支,與指定的遠程分支建立追蹤關系
git checkout < branch-name>切換到指定分支,并更新工作區
git branch -d < branch-name>刪除分支
git push origin --delete < branch-name>刪除遠程分支
  • 分支就是一個有名字的(master/dev)指向 commit 對象的一個指針,在初始化倉庫的時候,會默認分配一個叫做 master 的分支(在最新的版本默認倉庫已經變更為 main),而 master 分支就是指向最新的一次提交。為什么需要給分支起名字呢?就是為了方便使用和記憶,可以簡單理解為 alias 命令的意義一致:

  • 要實現一個分支,最基本需要解決兩個問題,第一個就是需要存儲每一個分支指向的 commit,第二個問題就是在切換分支的時候幫助我們標識當前分支。在 git 中,它有一個非常特殊的 HEAD 文件,而 HEAD 文件是一個指針,其有一個特性就是總會指向當前分支的最新的一個 commit 對象。而這個 HEAD 文件正好,解決了這兩個問題。
  • 當從 master 切換分支到 dev 的時候,HEAD 文件也會隨即切換,即指向 dev 這個指針:

# 左邊執行 $ cat .git/HEAD $ cat .git/refs/heads/master $ git cat-file -t 1711e01# 右邊執行 $ glo = git log

  • 如下所示,分支切換之后,HEAD 指向發生變動:
# 左邊執行 $ git branch $ git branch dev $ ll .git/refs/heads $ cat .git/refs/heads/master $ cat .git/refs/heads/dev $ cat .git/HEAD $ git checkout dev $ cat .git/HEAD# 右邊執行 $ glo = git log

  • 即使刪除分支,但是該分支上一些特有的對象并不會被刪除的,這些對象其實就是俗稱的垃圾對象,還有多次使用 add 命令所產生的也有垃圾對象:
# 左邊執行 $ echo "dev" > dev.txt $ git add dev.txt $ git commit -m "1st commit from dev branch" $ git checkout master $ git branch -d dev $ git branch -D dev $ git cat-file -t 861832c $ git cat-file -p 861832c $ git cat-file -p 680f6e9 $ git cat-file -p 38f8e88# 右邊執行 $ glo = git log

⑦ fetch

命令描述
git fetch <遠程主機名>將某個遠程主機的更新全部取回本地
git fetch <遠程主機名> <分支名>取回特定分支的更新
git fetch origin master取回 origin 主機的 master 分支
  • 一旦遠程主機的版本庫有了更新(Git 術語叫做 commit),需要將這些更新取回本地,這時就要用到 git fetch 命令:
$ git fetch <遠程主機名>
  • 上面命令將某個遠程主機的更新,全部取回本地。git fetch 命令通常用來查看其他人的進程,因為它取回的代碼對你本地的開發代碼沒有影響。默認情況下,git fetch 取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。
  • 取回更新后,會返回一個 FETCH_HEAD,指的是某個 branch 在服務器上的最新狀態,可以在本地通過它查看剛取回的更新信息:
$ git log -p FETCH_HEAD
  • 取回 origin 主機的 master 分支:
$ git fetch origin master
  • 所取回的更新,在本地主機上要用“遠程主機名/分支名”的形式讀取,比如 origin 主機的 master,就要用 origin/master 讀取。git branch 命令的 -r 選項,可以用來查看遠程分支,-a 選項查看所有分支:
$ git branch -r origin/master$ git branch -a* masterremotes/origin/master
  • 上面命令表示,本地主機的當前分支是 master,遠程分支是 origin/master。取回遠程主機的更新以后,可以在它的基礎上,使用 git checkout 命令創建一個新的分支。如下所示,在 origin/master 的基礎上,創建一個新分支:
$ git checkout -b newBrach origin/master
  • 此外,也可以使用 git merge 命令或者 git rebase 命令,在本地分支上合并遠程分支:
$ git merge origin/master # 或者 $ git rebase origin/master
  • 上面命令表示在當前分支上,合并 origin/master。

⑧ merge

  • merge 命令把不同的分支合并起來,如上圖,在實際開放中,我們可能從 master 分支中切出一個分支,然后進行開發完成需求,中間經過 R3、R4、R5 的 commit 記錄,最后開發完成需要合入 master 中,這便用到了 merge。
命令描述
git fetch < remote>merge 之前先拉一下遠程倉庫最新代碼
git merge < branch>合并指定分支到當前分支
  • 一般在 merge 之后,會出現 conflict,需要針對沖突情況,手動解除沖突,主要是因為兩個用戶修改了同一文件的同一塊區域。
    • 中斷合并:
git merge --abort
    • 撤銷合并:撤銷合并時采用 git reset/revert 操作。

⑨ rebase

  • rebase 又稱為衍合,是合并的另外一種選擇。在開始階段,我們處于 new 分支上,執行 git rebase dev,那么 new 分支上新的 commit 都在 master 分支上重演一遍,最后 checkout 切換回到 new 分支。這一點與 merge 是一樣的,合并前后所處的分支并沒有改變。
  • git rebase dev,通俗的解釋就是 new 分支想站在 dev 的肩膀上繼續下去,rebase 也需要手動解決沖突。
  • rebase 與 merge 的區別:
    • 現在有這樣的兩個分支:test 和 master,提交如下:
D---E test/A---B---C---F master
    • 在 master 執行 git merge test,然后會得到如下結果:
D--------E/ \A---B---C---F----G test, master
    • 在 master 執行 git rebase test,然后得到如下結果:
A---B---D---E---C'---F' test, master
    • 可以看到,merge 操作會生成一個新的節點,之前的提交分開顯示,而 rebase 操作不會生成新的節點,是將兩個分支融合成一個線性的提交。
  • 如果想要一個干凈的,沒有 merge commit 的線性歷史樹,那么應該選擇 git rebase;如果想保留完整的歷史記錄,并且想要避免重寫 commit history 的風險,應該選擇使用 git merge。

⑩ reset

  • reset 命令把當前分支指向另一個位置,并且相應的變動工作區和暫存區:
命令描述
git reset —soft < commit>只改變提交點,暫存區和工作目錄的內容都不改變
git reset —mixed < commit>改變提交點,同時改變暫存區的內容
git reset —hard < commit>暫存區、工作區的內容都會被修改到與提交點完全一致的狀態
git reset --hard HEAD讓工作區回到上次提交時的狀態

? revert

  • git revert 用一個新提交來消除一個歷史提交所做的任何修改:

  • revert 與 reset 的區別:

  • 說明:
    • git revert 是用一次新的 commit 來回滾之前的 commit,git reset 是直接刪除指定的commit;
    • 在回滾這一操作上看,效果差不多,但是在日后繼續 merge 以前的老版本時有區別。因為 git revert 是用一次逆向的 commit “中和”之前的提交,因此日后合并老的 branch 時,導致這部分改變不會再次出現,減少沖突。但是 git reset 是之間把某些 commit 在某個 branch 上刪除,因而和老的branch 再次 merge 時,這些被回滾的 commit 應該還會被引入,產生很多沖突。關于這一點,請參考:git reset revert 回退回滾取消提交返回上一版本;
    • git reset 是把 HEAD 向后移動了一下,而 git revert 是 HEAD 繼續前進,只是新的 commit 的內容和要 revert 的內容正好相反,能夠抵消要被 revert 的內容。

? push

  • 上傳本地倉庫分支到遠程倉庫分支,實現同步:
命令描述
git push < remote>上傳本地指定分支到遠程倉庫
git push < remote> --force強行推送當前分支到遠程倉庫,即使有沖突
git push < remote> --all推送所有分支到遠程倉庫
  • git push 命令用于將本地分支的更新,推送到遠程主機,它的格式與 git pull 命令相仿:
$ git push <遠程主機名> <本地分支名>:<遠程分支名>
  • 注意,分支推送順序的寫法是<來源地>:<目的地>,所以 git pull 是<遠程分支>:<本地分支>,而 git push 是<本地分支>:<遠程分支>。如果省略遠程分支名,則表示將本地分支推送與之存在“追蹤關系”的遠程分支(通常兩者同名),如果該遠程分支不存在,則會被新建。
  • 將本地的 master 分支推送到 origin 主機的 master 分支,如果后者不存在,則會被新建:
$ git push origin master
  • 如果省略本地分支名,則表示刪除指定的遠程分支,因為這等同于推送一個空的本地分支到遠程分支。刪除 origin 主機的 master 分支,如下所示:
$ git push origin :master # 等同于 $ git push origin --delete master
  • 如果當前分支與遠程分支之間存在追蹤關系,則本地分支和遠程分支都可以省略。將當前分支推送到 origin 主機的對應分支:
$ git push origin
  • 如果當前分支只有一個追蹤分支,那么主機名都可以省略:
$ git push
  • 如果當前分支與多個主機存在追蹤關系,則可以使用 -u 選項指定一個默認主機,這樣后面就可以不加任何參數使用 git push。將本地的 master 分支推送到 origin 主機,同時指定 origin 為默認主機,后面就可以不加任何參數使用 git push:
$ git push -u origin master
  • 不帶任何參數的 git push,默認只推送當前分支,這叫做 simple 方式。此外,還有一種 matching 方式,會推送所有有對應的遠程分支的本地分支。Git 2.0 版本之前,默認采用 matching 方法,現在改為默認采用 simple 方式,如果要修改這個設置,可以采用 git config 命令:
$ git config --global push.default matching # 或者 $ git config --global push.default simple
  • 還有一種情況,就是不管是否存在對應的遠程分支,將本地的所有分支都推送到遠程主機,這時需要使用 --all 選項,將所有本地分支都推送到 origin 主機:
$ git push --all origin
  • 如果遠程主機的版本比本地版本更新,推送時 Git 會報錯,要求先在本地做 git pull 合并差異,然后再推送到遠程主機。這時,如果一定要推送,可以使用 --force 選項。如下所示,使用 --force 選項,結果導致遠程主機上更新的版本被覆蓋,除非很確定要這樣做,否則應該盡量避免使用 --force 選項:
$ git push --force origin
  • 最后,git push 不會推送標簽(tag),除非使用 --tags 選項:
$ git push origin --tags

? pull

  • git pull 命令的作用是,取回遠程主機某個分支的更新,再與本地的指定分支合并。它的完整格式稍稍有點復雜:
$ git pull <遠程主機名> <遠程分支名>:<本地分支名>
  • 比如,取回 origin 主機的 next 分支,與本地的 master 分支合并,需要寫成下面這樣:
$ git pull origin next:master
  • 如果遠程分支是與當前分支合并,則冒號后面的部分可以省略:
$ git pull origin next
  • 上面命令表示,取回 origin/next 分支,再與當前分支合并。實質上,這等同于先做 git fetch,再做 git merge:
$ git fetch origin $ git merge origin/next
  • 在某些場合,Git 會自動在本地分支與遠程分支之間,建立一種追蹤關系(tracking)。比如,在 git clone 的時候,所有本地分支默認與遠程主機的同名分支,建立追蹤關系,也就是說,本地的 master 分支自動“追蹤” origin/master 分支。
  • Git 也允許手動建立追蹤關系,如下,指定 master 分支追蹤 origin/next 分支:
git branch --set-upstream master origin/next
  • 如果當前分支與遠程分支存在追蹤關系,git pull 就可以省略遠程分支名。如下,本地的當前分支自動與對應的 origin 主機"追蹤分支"(remote-tracking branch)進行合并:
$ git pull origin
  • 如果當前分支只有一個追蹤分支,連遠程主機名都可以省略。如下,當前分支自動與唯一一個追蹤分支進行合并:
$ git pull
  • 如果合并需要采用 rebase 模式,可以使用 --rebase 選項。
$ git pull --rebase <遠程主機名> <遠程分支名>:<本地分支名>
  • 如果遠程主機刪除了某個分支,默認情況下,git pull 不會在拉取遠程分支的時候,刪除對應的本地分支。這是為了防止,由于其他人操作了遠程主機,導致 git pull 不知不覺刪除了本地分支。
    但是,我們可以改變這個行為,加上參數 -p 就會在本地刪除遠程已經刪除的分支:
$ git pull -p # 等同于下面的命令 $ git fetch --prune origin $ git fetch -p

? stash

命令描述
git stash save “xx”執行存儲,并添加備注,只執行 git stash 也是可以的,但查找時不方便識別
git stash list查看 stash 了哪些存儲
git stash show顯示做了哪些修改,默認 show 第一個存儲,如果要顯示其他存儲,后面加stash@{$num},比如第二個 git stash show stash@{1}
git stash show -p顯示第一個存儲的改動,如果想顯示其他存儲,加上 stash@{$num},比如第二個:git stash show stash@{1} -p
git stash apply應用某個存儲,但不會把存儲從存儲列表中刪除,默認使用第一個存儲,即 stash@{0},如果要使用其他的,git stash apply stash@{$num} , 比如第二個:git stash apply stash@{1}
git stash pop命令恢復之前緩存的工作目錄,將緩存堆棧中的對應 stash 刪除,并將對應修改應用到當前的工作目錄下,默認為第一個 stash,即 stash@{0},如果要應用并刪除其他 stash,命令:git stash pop stash@{$num},比如應用并刪除第二個:git stash pop stash@{1}
git stash drop stash@{$num}丟棄 stash@{$num} 存儲,從列表中刪除這個存儲
git stash clear刪除所有緩存的stash

  • 注意:沒有在 git 版本控制中的文件,是不能被 git stash 存起來的。如果新增了一個文件,直接執行 git stash 是不會存起來的,可以先執行 git add,再執行 git stash。這個時候,想切分支就再也不會報錯有改動未提交了。
  • 如果要應用這些 stash,直接使用 git stash apply 或者 git stash pop 就可以再次導出來了。
  • 總結:
    • git add 只是把文件加到 git 版本控制里,并不等于就被 stash 起來了,git add 和 git stash 沒有必然的關系,但是執行 git stash 能正確存儲的前提是文件必須在 git 版本控制中才行。
    • 常規 git stash 的一個限制是它會一下暫存所有的文件。有時,只備份某些文件更為方便,讓另外一些與代碼庫保持一致。一個非常有用的技巧,用來備份部分文件:
      • add 不想備份的文件;
      • 調用 git stash –keep-index,只會備份那些沒有被 add 的文件;
      • 調用 git reset 取消已經 add 的文件的備份,繼續自己的工作。

? clone

  • 遠程操作的第一步,通常是從遠程主機克隆一個版本庫,這時就要用到 git clone 命令:
$ git clone <版本庫的網址>
  • 例如,克隆 jQuery 的版本庫:
$ git clone https://github.com/jquery/jquery.git
  • 命令會在本地主機生成一個目錄,與遠程主機的版本庫同名。如果要指定不同的目錄名,可以將目錄名作為 git clone 命令的第二個參數:
$ git clone <版本庫的網址> <本地目錄名>
  • git clone 支持多種協議,除了 HTTP(s) 以外,還支持 SSH、Git、本地文件協議等,如下:
$ git clone http[s]://example.com/path/to/repo.git/ $ git clone ssh://example.com/path/to/repo.git/ $ git clone git://example.com/path/to/repo.git/ $ git clone /opt/git/project.git $ git clone file:///opt/git/project.git $ git clone ftp[s]://example.com/path/to/repo.git/ $ git clone rsync://example.com/path/to/repo.git/
  • SSH 協議還有另一種寫法:
$ git clone [user@]example.com:path/to/repo.git/
  • 通常來說,Git 協議下載速度最快,SSH 協議用于需要用戶認證的場合。

? remote

  • 為了便于管理,Git 要求每個遠程主機都必須指定一個主機名,git remote 命令就用于管理主機名。不帶選項的時候,git remote 命令列出所有遠程主機:
$ git remote origin
  • 使用 -v 選項,可以參看遠程主機的網址:
$ git remote -v origin git@github.com:jquery/jquery.git (fetch) origin git@github.com:jquery/jquery.git (push)
  • 上面命令表示,當前只有一臺遠程主機,叫做 origin,以及它的網址。克隆版本庫的時候,所使用的遠程主機自動被 Git 命名為 origin,如果想用其他的主機名,需要用 git clone 命令的 -o 選項指定:
$ git clone -o jQuery https://github.com/jquery/jquery.git $ git remote jQuery
  • 上面命令表示,克隆的時候,指定遠程主機叫做 jQuery。git remote show 命令加上主機名,可以查看該主機的詳細信息:
$ git remote show <主機名>
  • git remote add 命令用于添加遠程主機:
$ git remote add <主機名> <網址>
  • git remote rm 命令用于刪除遠程主機:
$ git remote rm <主機名>
  • git remote rename 命令用于遠程主機的改名:
$ git remote rename <原主機名> <新主機名>

? 其他命令

命令描述
git status顯示有變更的文件
git log顯示當前分支的版本歷史
git diff顯示暫存區和工作區的差異
git diff HEAD顯示工作區與當前分支最新 commit 之間的差異
git diff --cached查看到暫存區和本地倉庫之間的差異
git diff master查看到master和本地倉庫之間的差異
git cherry-pick <commit>選擇一個 commit,合并進當前分支

三、Git Reset 三種模式

  • 使用 Git 時有可能 commit 提交代碼后,發現這一次 commit 的內容是有錯誤的,那么有兩種處理方法:
    • 修改錯誤內容,再次 commit 一次;
    • 使用 git reset 命令撤銷這一次錯誤的 commit;
    • 第一種方法多一條 commit 記錄;第二種方法,錯誤的 commit 不會被保留下來。
  • 一句話概括 git reset:
git reset:Reset current HEAD to the specified state // 讓 HEAD 指針指向其他的地方
  • 例如,有一次 commit 不是很滿意,需要回到上一次的 Commit 里面,那么這個時候就需要通過 reset,把 HEAD 指針指向上一次的 commit 的點,它有三種模式:soft、mixed、hard,如下所示:

  • 理解了這三個模式,對于使用這個命令很有幫助。在理解這三個模式之前,需要略微知道一點 Git 的基本流程,如下所示:
    • Working Tree 當前的工作區域;
    • Index/Stage 暫存區域,和 git stash 命令暫存的地方不一樣,使用 git add xx,就可以將 xx 添加近 Stage 里面;
    • Repository 提交的歷史,即使用 git commit 提交后的結果。

  • 簡單敘述一下把文件存入 Repository 流程:
    • 剛開始 working tree、index 與 repository(HEAD) 里面的內容都是一致的:

    • 當 git 管理的文件夾里面的內容出現改動后,此時 working tree 的內容就會跟 index 及 repository(HEAD) 的不一致,而 Git 知道是哪些文件(Tracked File)被改動過,直接將文件狀態設置為 modified (Unstaged files):
    • 當執行 git add 后,會將這些改變的文件內容加入 index 中 (Staged files),所以此時 working tree 跟 index 的內容是一致的,但與 repository(HEAD) 內容不一致:

    • 接著執行 git commit 后,將 Git 索引中所有改變的文件內容提交至 Repository 中,建立出新的 commit 節點(HEAD)后,working tree、index 與 repository(HEAD) 區域的內容又會保持一致:

① reset --hard:重置 stage 區和工作目錄

  • reset --hard 會在重置 HEAD 和 branch 的同時,重置 stage 區和工作目錄里的內容。當在 reset 后面加了 --hard 參數時,stage 區和工作目錄里的內容會被完全重置為和 HEAD 的新位置相同的內容,換句話說,就是沒有 commit 的修改會被全部擦掉:

  • 然后,執行 reset 并附上了 --hard 參數:
git reset --hard
  • HEAD 和當前 branch 切到上一條 commit 的同時,工作目錄里的新改動和已經 add 到 stage 區的新改動也一起全都消失:

  • 可以看到,在 reset --hard 后,所有的改動都被擦掉。

② reset --soft:保留工作目錄,并把重置 HEAD 所帶來的新的差異放進暫存區

  • reset --soft 會在重置 HEAD 和 branch 時,保留工作目錄和暫存區中的內容,并把重置 HEAD 所帶來的新的差異放進暫存區。
  • 那么,什么是“重置 HEAD 所帶來的新的差異”?如下所示:

  • 由于 HEAD 從 4 移動到了 3,而且在 reset 的過程中工作目錄和暫存區的內容沒有被清理掉,所以 4 中的改動在 reset 后就也成了工作目錄新增的“工作目錄和 HEAD 的差異”,這就是上面一段中所說的“重置 HEAD 所帶來的差異”。
  • 此模式下會保留 working tree 工作目錄的內容,不會改變到目前所有的 git 管理的文件夾的內容;也會保留 index 暫存區的內容,讓 index 暫存區與 working tree 工作目錄的內容是一致的。就只有 repository 中的內容的更變需要與 reset 目標節點一致,因此原始節點與 reset 節點之間的差異變更集合會存在與 index 暫存區中(Staged files),所以可以直接執行 git commit 將 index 暫存區中的內容提交至 repository 中。
  • 當我們想合并“當前節點”與“reset 目標節點”之間不具有太大意義的 commit 記錄(可能是階段性地頻繁提交)時,可以考慮使用 Soft Reset 來讓 commit 演進線圖較為清晰點:

    • 同樣的情況下,把修改后的 AppDelegate.h 文件 add 到 stage 區,修改后的 AppDelegate.m 保留在工作目錄:

    • 查看當前最新的 commit 記錄:
git show --stat

    • 這時,執行 git reset --soft HEAD^:

    • 那么除了 HEAD 和它所指向的 branch1 被移動到 HEAD^ 之外,原先 HEAD 處 commit 的改動(README.md 文件)也會被放進暫存區。
  • 這就是 --soft 和 --hard 的區別:–hard 會清空工作目錄和暫存區的改動,而 --soft 則會保留工作目錄的內容,并把因為保留工作目錄內容所帶來的新的文件差異放進暫存區。

③ reset --mixed:保留工作目錄,并清空暫存區

  • reset 如果不加參數,那么默認使用 --mixed 參數,它的行為是:保留工作目錄,并且清空暫存區。也就是說,工作目錄的修改、暫存區的內容以及由 reset 所導致的新的文件差異,都會被放進工作目錄。簡而言之,就是把所有差異都混合(mixed)放在工作目錄中。
  • 以上面的情況為例:

  • 工作目錄的內容和 --soft 一樣會被保留,但和 --soft 的區別在于,它會把暫存區清空,并把原節點和 reset 節點的差異的文件放在工作目錄。總而言之,工作目錄的修改、暫存區的內容以及由 reset 所導致的新的文件差異,都會被放進工作目錄。

④ Reset 三種模式總結

  • reset 的本質:移動 HEAD 以及它所指向的 branch。實質上,reset 這個指令雖然可以用來撤銷 commit,但它的實質行為并不是撤銷,而是移動 HEAD ,并且捎帶上 HEAD 所指向的 branch(如果有的話)。也就是說,reset 這個指令的行為其實和它的字面意思“重置”十分相符:它是用來重置 HEAD 以及它所指向的 branch 的位置的。
  • 而 reset --hard HEAD^ 之所以起到了撤銷 commit 的效果,是因為它把 HEAD 和它所指向的 branch 一起移動到了當前 commit 的父 commit 上,從而起到了“撤銷”的效果:

  • Git 的歷史只能往回看,不能向未來看,所以把 HEAD 和 branch 往回移動,就能起到撤回 commit 的效果。所以同理,reset --hard 不僅可以撤銷提交,還可以用來把 HEAD 和 branch 移動到其他的任何地方:
git reset --hard branch2

⑤ reset 三種模式區別和使用場景

  • 區別:
    • –hard:重置位置的同時,直接將 working Tree 工作目錄、index 暫存區及 repository 都重置成目標 Reset 節點的內容,所以效果看起來等同于清空暫存區和工作區;
    • –soft:重置位置的同時,保留 working Tree 工作目錄和 index 暫存區的內容,只讓 repository 中的內容和 reset 目標節點保持一致,因此原節點和 reset 節點之間的【差異變更集】會放入 index 暫存區中(Staged files)。所以效果看起來就是工作目錄的內容不變,暫存區原有的內容也不變,只是原節點和 Reset 節點之間的所有差異都會放到暫存區中。
    • –mixed(默認):重置位置的同時,只保留 Working Tree 工作目錄的內容,但會將 Index 暫存區和 Repository 中的內容更改和 reset 目標節點一致,因此原節點和 Reset 節點之間的【差異變更集】會放入 Working Tree 工作目錄中。所以效果看起來就是原節點和 Reset 節點之間的所有差異都會放到工作目錄中。
  • 使用場景:
    • –hard:
      • 要放棄目前本地的所有改變時,即去掉所有 add 到暫存區的文件和工作區的文件,可以執行 git reset -hard HEAD 來強制恢復 git 管理的文件夾的內容及狀態;
      • 真的想拋棄目標節點后的所有 commit(可能覺得目標節點到原節點之間的 commit 提交都是錯了,之前所有的 commit 有問題)。
    • –soft:
      • 原節點和 reset 節點之間的【差異變更集】會放入 index 暫存區中(Staged files),所以假如之前工作目錄沒有改過任何文件,也沒 add 到暫存區,那么使用 reset --soft 后,可以直接執行 git commit 將 index 暫存區中的內容提交至 repository 中。為什么要這樣呢?
      • 這樣做的使用場景是:假如想合并「當前節點」與「reset 目標節點」之間不具太大意義的 commit 記錄(可能是階段性地頻繁提交,就是開發一個功能的時候,改或者增加一個文件的時候就commit,這樣做導致一個完整的功能可能會好多個 commit 點,這時假如需要把這些 commit 整合成一個 commit 的時候)時,可以考慮使用 reset --soft 來讓 commit 演進線圖較為清晰。總而言之,可以使用 --soft 合并 commit 節點。
    • –mixed(默認):
      • 使用完 reset --mixed 后,可以直接執行 git add 將這些改變果的文件內容加入 index 暫存區中,再執行 git commit,將 Index 暫存區 中的內容提交至 Repository 中,這樣一樣可以達到合并 commit 節點的效果(與上面 --soft 合并 commit 節點差不多,只是多了 git add 添加到暫存區的操作);
      • 移除所有 Index 暫存區中準備要提交的文件(Staged files),可以執行 git reset HEAD 來 Unstage 所有已列入 Index 暫存區的待提交的文件(有時候發現 add 錯文件到暫存區,就可以使用命令);
      • commit 提交某些錯誤代碼,或者沒有必要的文件也被 commit 上去,不想再修改錯誤再 commit (因為會留下一個錯誤 commit 點),可以回退到正確的 commit 點上,然后所有原節點和 reset 節點之間差異會返回工作目錄,假如有個沒必要的文件的話就可以直接刪除了,再 commit 上去就 OK 了。

四、撤銷修改

① 已修改,未暫存

  • 如果只是在編輯器里修改了文件,但還沒有執行 git add .,這時候文件還在工作區,并沒有進入暫存區,可以用:
git checkout .
  • 或者
git reset --hard
  • 來進行撤銷操作。


  • 可以看到,在執行完 git checkout . 之后,修改已被撤銷,git diff 沒有任何內容了。git add . 的反義詞是 git checkout .,做完修改之后,如果想向前走一步,讓修改進入暫存區,就執行git add .,如果想向后退一步,撤銷剛才的修改,就執行 git checkout .。

② 已暫存,未提交

  • 已經執行 git add .,但還沒有執行 git commit -m “comment”:
git reset // 退回到 git add . 之前,即本地文件處于已修改未暫存狀態 git checkout . // 撤銷修改
  • 或者
git reset --hard
  • 可以發現兩種情況都可以用同一個命令 git reset --hard 來完成,這個強大的命令,可以一步到位地把你的修改完全恢復到未修改的狀態。

③ 已提交,未推送

  • 執行 git commit 后,代碼已經進入了本地倉庫:
git reset --hard origin/master
  • 還是這個 git reset --hard 命令,只不過這次多了一個參數 origin/master,正如上文中的,origin/master 代表遠程倉庫,既然已經污染了本地倉庫,那么就從遠程倉庫把代碼取回來。

④ 已推送

  • 如果執行了 git add -> git commit -> git push 了,這時代碼已經進入遠程倉庫。如果想恢復的話,只需要先撤銷本地修改,再強制 push 到遠程倉庫:
git reset --hard HEAD^ git push -f

五、同時 push 到多個遠程倉庫

  • 進入項目目錄,打開 .git/config 文件(.git 是隱藏目錄,需要打開顯示隱藏文件):

  • 只需要在 [remote “origin”] 下增加一條 url 地址,就可以在 push 時推送到多個遠程倉庫:

  • 如果使用 sourceTree 軟件進行 git 操作,那么需要注意在 settings -> 高級下面,多個遠程地址對應的驗證信息是否正確:

總結

以上是生活随笔為你收集整理的Git之深入解析工作流程、常用命令与Reset模式分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国色天香社区在线视频 | 国产va免费精品观看 | 最新版天堂资源中文官网 | 日本熟妇浓毛 | 国产精品美女久久久久av爽李琼 | 少妇人妻av毛片在线看 | 青青青爽视频在线观看 | 亚洲国产日韩a在线播放 | 97人妻精品一区二区三区 | 国产熟女一区二区三区四区五区 | 在线看片无码永久免费视频 | 三级4级全黄60分钟 | 国产精品高潮呻吟av久久 | 亚洲一区二区三区播放 | 搡女人真爽免费视频大全 | 成年美女黄网站色大免费全看 | 国产在热线精品视频 | 东京热一精品无码av | 国产亚洲tv在线观看 | 18禁黄网站男男禁片免费观看 | 日日摸日日碰夜夜爽av | 亚洲国产精品毛片av不卡在线 | 最近的中文字幕在线看视频 | 精品人妻av区 | 无遮无挡爽爽免费视频 | 精品人妻av区 | 亚洲天堂2017无码中文 | 漂亮人妻洗澡被公强 日日躁 | 免费无码肉片在线观看 | 人人超人人超碰超国产 | 国产精品永久免费视频 | 国产无套粉嫩白浆在线 | 国产亚洲精品久久久久久久久动漫 | 色综合久久网 | 国产午夜手机精彩视频 | 日韩精品无码免费一区二区三区 | 国产精品久久国产三级国 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲中文字幕无码中文字在线 | 无码吃奶揉捏奶头高潮视频 | 亚洲综合另类小说色区 | 无码播放一区二区三区 | 免费乱码人妻系列无码专区 | 精品夜夜澡人妻无码av蜜桃 | 国产午夜视频在线观看 | 色欲久久久天天天综合网精品 | 色妞www精品免费视频 | 亚洲 a v无 码免 费 成 人 a v | 久久久久亚洲精品中文字幕 | 亚洲日本va中文字幕 | 国産精品久久久久久久 | 国产av无码专区亚洲a∨毛片 | 欧美 日韩 人妻 高清 中文 | 无码国产激情在线观看 | 欧洲精品码一区二区三区免费看 | 国产综合在线观看 | 国产内射爽爽大片视频社区在线 | 亚洲综合久久一区二区 | 77777熟女视频在线观看 а天堂中文在线官网 | 丝袜美腿亚洲一区二区 | 中文字幕av无码一区二区三区电影 | 欧美精品在线观看 | 六十路熟妇乱子伦 | yw尤物av无码国产在线观看 | 亚洲欧美国产精品久久 | 精品无码成人片一区二区98 | 成人精品一区二区三区中文字幕 | 久久综合网欧美色妞网 | 国产做国产爱免费视频 | 日韩成人一区二区三区在线观看 | 欧美 日韩 亚洲 在线 | 久久精品国产一区二区三区肥胖 | 亚洲日韩一区二区三区 | 久久久精品欧美一区二区免费 | 天天躁夜夜躁狠狠是什么心态 | a在线亚洲男人的天堂 | 欧美精品无码一区二区三区 | 国产成人综合色在线观看网站 | 无码精品国产va在线观看dvd | 性啪啪chinese东北女人 | 99久久99久久免费精品蜜桃 | 成人影院yy111111在线观看 | 免费看男女做好爽好硬视频 | 欧美熟妇另类久久久久久不卡 | 成人免费视频一区二区 | yw尤物av无码国产在线观看 | 亚洲国产精品久久久久久 | 国产激情综合五月久久 | 日韩在线不卡免费视频一区 | 精品人人妻人人澡人人爽人人 | 亚洲色www成人永久网址 | 精品 日韩 国产 欧美 视频 | 亚洲aⅴ无码成人网站国产app | 扒开双腿疯狂进出爽爽爽视频 | 熟妇人妻中文av无码 | 内射欧美老妇wbb | 日韩精品乱码av一区二区 | 99精品无人区乱码1区2区3区 | 日日躁夜夜躁狠狠躁 | 在线观看欧美一区二区三区 | 精品国产av色一区二区深夜久久 | 美女极度色诱视频国产 | 久久久久成人精品免费播放动漫 | 亚洲熟妇色xxxxx亚洲 | 一本久道久久综合狠狠爱 | 国产绳艺sm调教室论坛 | 中文无码精品a∨在线观看不卡 | 黑森林福利视频导航 | 精品无码一区二区三区的天堂 | 久久99精品久久久久久 | 伊人色综合久久天天小片 | 婷婷五月综合缴情在线视频 | 亚洲中文字幕乱码av波多ji | 丰腴饱满的极品熟妇 | 伊人久久大香线蕉av一区二区 | 少妇一晚三次一区二区三区 | 精品久久久久久人妻无码中文字幕 | 鲁一鲁av2019在线 | 青青久在线视频免费观看 | 在线观看免费人成视频 | 97色伦图片97综合影院 | 人人妻人人澡人人爽人人精品 | 国产精品人人爽人人做我的可爱 | 无码精品人妻一区二区三区av | 澳门永久av免费网站 | 国产精品亚洲lv粉色 | 久久人人爽人人爽人人片ⅴ | av香港经典三级级 在线 | 久久久www成人免费毛片 | 国产另类ts人妖一区二区 | 国内揄拍国内精品人妻 | 日日天干夜夜狠狠爱 | 亚洲熟妇色xxxxx欧美老妇 | 国精产品一区二区三区 | 人妻无码αv中文字幕久久琪琪布 | 天堂久久天堂av色综合 | 无套内谢的新婚少妇国语播放 | 偷窥日本少妇撒尿chinese | 无码乱肉视频免费大全合集 | 欧美日韩综合一区二区三区 | 精品无码av一区二区三区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 巨爆乳无码视频在线观看 | 国产精品资源一区二区 | 男女下面进入的视频免费午夜 | 亚洲一区av无码专区在线观看 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲 日韩 欧美 成人 在线观看 | 永久免费精品精品永久-夜色 | 少女韩国电视剧在线观看完整 | 偷窥日本少妇撒尿chinese | 国产亚洲tv在线观看 | 麻豆国产人妻欲求不满谁演的 | 日韩少妇内射免费播放 | 天天做天天爱天天爽综合网 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 欧美三级a做爰在线观看 | 色婷婷综合激情综在线播放 | 久久久久久a亚洲欧洲av冫 | 日本xxxx色视频在线观看免费 | 亚洲国产精品一区二区美利坚 | 色婷婷综合激情综在线播放 | 成人影院yy111111在线观看 | 亚洲国产精品无码久久久久高潮 | 激情爆乳一区二区三区 | 男女作爱免费网站 | 免费看男女做好爽好硬视频 | 亚洲综合精品香蕉久久网 | 久久久久久a亚洲欧洲av冫 | 中文字幕乱码人妻二区三区 | 久久精品人人做人人综合 | 少妇激情av一区二区 | 亚洲一区二区三区四区 | 日本又色又爽又黄的a片18禁 | 久久久国产一区二区三区 | 伊人久久婷婷五月综合97色 | 欧美丰满少妇xxxx性 | 欧美性生交活xxxxxdddd | 人妻少妇精品视频专区 | 亚洲a无码综合a国产av中文 | 西西人体www44rt大胆高清 | 国产明星裸体无码xxxx视频 | 免费视频欧美无人区码 | 四虎国产精品一区二区 | 久久www免费人成人片 | 小泽玛莉亚一区二区视频在线 | 蜜桃无码一区二区三区 | 久久综合久久自在自线精品自 | 精品国产一区二区三区四区在线看 | 中文字幕无码免费久久99 | 国产免费久久精品国产传媒 | 白嫩日本少妇做爰 | 国产99久久精品一区二区 | 人人妻人人澡人人爽精品欧美 | 日本欧美一区二区三区乱码 | 国产黑色丝袜在线播放 | 麻豆成人精品国产免费 | 亚拍精品一区二区三区探花 | 国产亚洲人成在线播放 | 中文字幕乱码人妻无码久久 | 欧美日本精品一区二区三区 | 日韩无套无码精品 | 三上悠亚人妻中文字幕在线 | 国产亚洲精品久久久久久大师 | 无码人妻精品一区二区三区下载 | 亚洲欧洲无卡二区视頻 | 99久久人妻精品免费二区 | 色偷偷人人澡人人爽人人模 | 日欧一片内射va在线影院 | 中文字幕乱码亚洲无线三区 | 啦啦啦www在线观看免费视频 | 女人被男人躁得好爽免费视频 | 欧美兽交xxxx×视频 | 色欲久久久天天天综合网精品 | 亚洲一区二区三区无码久久 | 精品少妇爆乳无码av无码专区 | 全球成人中文在线 | 久久伊人色av天堂九九小黄鸭 | 性欧美牲交xxxxx视频 | 亚洲色欲色欲天天天www | 日韩 欧美 动漫 国产 制服 | 亚洲国产精品美女久久久久 | 欧美人与动性行为视频 | 国产在线aaa片一区二区99 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲精品成人av在线 | 国产香蕉尹人综合在线观看 | 性欧美大战久久久久久久 | 狠狠色欧美亚洲狠狠色www | 免费视频欧美无人区码 | 女人高潮内射99精品 | 夜夜影院未满十八勿进 | 四虎影视成人永久免费观看视频 | 国产精品无码mv在线观看 | 国产亚洲精品久久久ai换 | 国内综合精品午夜久久资源 | 久久久精品欧美一区二区免费 | 亚洲а∨天堂久久精品2021 | 国产精品无码永久免费888 | 图片区 小说区 区 亚洲五月 | 国产成人精品无码播放 | 国产精品人妻一区二区三区四 | 久久久久99精品成人片 | 日本一卡2卡3卡四卡精品网站 | 久久综合色之久久综合 | 久久精品中文字幕大胸 | 日韩av激情在线观看 | 伊在人天堂亚洲香蕉精品区 | 国内精品人妻无码久久久影院蜜桃 | 波多野结衣乳巨码无在线观看 | 久久精品成人欧美大片 | 日欧一片内射va在线影院 | 国产亲子乱弄免费视频 | 久久亚洲日韩精品一区二区三区 | 欧美大屁股xxxxhd黑色 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 成人试看120秒体验区 | 黑人玩弄人妻中文在线 | 在线观看国产午夜福利片 | 性啪啪chinese东北女人 | 国产香蕉尹人视频在线 | 欧美国产日产一区二区 | 亚洲精品综合五月久久小说 | 精品国产麻豆免费人成网站 | 国内精品九九久久久精品 | 日本免费一区二区三区最新 | 欧美freesex黑人又粗又大 | 无遮挡国产高潮视频免费观看 | 亚洲欧洲日本综合aⅴ在线 | 色综合久久久无码中文字幕 | 夜夜躁日日躁狠狠久久av | 成熟妇人a片免费看网站 | 国产精品自产拍在线观看 | 清纯唯美经典一区二区 | 欧美性生交xxxxx久久久 | 日日鲁鲁鲁夜夜爽爽狠狠 | 成人精品一区二区三区中文字幕 | 亚洲国产精品美女久久久久 | 精品欧美一区二区三区久久久 | 久久天天躁狠狠躁夜夜免费观看 | 欧美 日韩 亚洲 在线 | 国产免费久久精品国产传媒 | 欧美性生交活xxxxxdddd | 乱人伦人妻中文字幕无码 | 狠狠色丁香久久婷婷综合五月 | 欧美性生交xxxxx久久久 | 久久久久亚洲精品中文字幕 | 在线观看国产午夜福利片 | 久久 国产 尿 小便 嘘嘘 | 成人无码精品一区二区三区 | 久久人人97超碰a片精品 | 奇米影视7777久久精品人人爽 | 东京热无码av男人的天堂 | 88国产精品欧美一区二区三区 | 在线观看欧美一区二区三区 | 国产熟女一区二区三区四区五区 | 少妇厨房愉情理9仑片视频 | 日韩成人一区二区三区在线观看 | 丰满少妇熟乱xxxxx视频 | 日本精品少妇一区二区三区 | 久久无码人妻影院 | 亚洲国产日韩a在线播放 | 任你躁国产自任一区二区三区 | 1000部夫妻午夜免费 | 日本熟妇人妻xxxxx人hd | 国产精品无码mv在线观看 | 亚洲日韩中文字幕在线播放 | 亚洲国产精品毛片av不卡在线 | 久久婷婷五月综合色国产香蕉 | 国产精品内射视频免费 | 中文字幕无码av激情不卡 | 无码av免费一区二区三区试看 | 国产又爽又猛又粗的视频a片 | 精品无码一区二区三区的天堂 | 久久久久人妻一区精品色欧美 | 未满成年国产在线观看 | 亚洲精品综合五月久久小说 | 俄罗斯老熟妇色xxxx | 亚洲乱亚洲乱妇50p | 日韩av无码一区二区三区不卡 | 国产精品第一国产精品 | 中文字幕无码免费久久9一区9 | 欧美成人家庭影院 | 99国产精品白浆在线观看免费 | 精品 日韩 国产 欧美 视频 | 狂野欧美性猛xxxx乱大交 | 强开小婷嫩苞又嫩又紧视频 | 人妻体内射精一区二区三四 | 俄罗斯老熟妇色xxxx | 亚洲熟妇色xxxxx欧美老妇y | 草草网站影院白丝内射 | 亚洲人亚洲人成电影网站色 | 蜜桃视频插满18在线观看 | 亚洲成av人在线观看网址 | 国产片av国语在线观看 | 老太婆性杂交欧美肥老太 | 国产绳艺sm调教室论坛 | 日本又色又爽又黄的a片18禁 | 国产人妻大战黑人第1集 | 我要看www免费看插插视频 | 免费人成在线观看网站 | 国产精品99久久精品爆乳 | 久久久精品456亚洲影院 | 欧美成人午夜精品久久久 | 波多野42部无码喷潮在线 | 久久久久免费精品国产 | 99久久久无码国产aaa精品 | 亚洲va中文字幕无码久久不卡 | 精品欧洲av无码一区二区三区 | 无码av最新清无码专区吞精 | 免费观看激色视频网站 | 成人三级无码视频在线观看 | 国产精品久久久久久久9999 | 最近的中文字幕在线看视频 | 国产精品亚洲专区无码不卡 | 亚洲国产精品久久久久久 | 久久人人97超碰a片精品 | 精品欧洲av无码一区二区三区 | 日韩欧美中文字幕在线三区 | 国产精品国产三级国产专播 | 男女猛烈xx00免费视频试看 | 精品国产av色一区二区深夜久久 | 国产精品美女久久久 | 女人被男人爽到呻吟的视频 | 国产无av码在线观看 | 久在线观看福利视频 | а√天堂www在线天堂小说 | 久久国产精品精品国产色婷婷 | 欧美人与禽zoz0性伦交 | 强伦人妻一区二区三区视频18 | 国产真实乱对白精彩久久 | 大乳丰满人妻中文字幕日本 | 丰满诱人的人妻3 | 免费国产成人高清在线观看网站 | 九九在线中文字幕无码 | 99久久久无码国产精品免费 | 99国产精品白浆在线观看免费 | 日日天日日夜日日摸 | 精品国偷自产在线 | 成人精品视频一区二区三区尤物 | 98国产精品综合一区二区三区 | 久久综合给合久久狠狠狠97色 | 国产色精品久久人妻 | 极品嫩模高潮叫床 | 亚洲国产高清在线观看视频 | 久久人人爽人人人人片 | 激情内射日本一区二区三区 | 在线天堂新版最新版在线8 | 牲交欧美兽交欧美 | 欧洲极品少妇 | 5858s亚洲色大成网站www | 影音先锋中文字幕无码 | 亚洲国产精品无码一区二区三区 | 亚洲成a人片在线观看无码 | 亚洲成av人综合在线观看 | 亚洲一区二区三区播放 | 成人无码精品1区2区3区免费看 | 国产电影无码午夜在线播放 | 色婷婷av一区二区三区之红樱桃 | 精品人妻中文字幕有码在线 | 人人妻人人澡人人爽精品欧美 | 成人精品一区二区三区中文字幕 | √天堂资源地址中文在线 | 日韩精品a片一区二区三区妖精 | 狠狠色丁香久久婷婷综合五月 | 亚洲欧洲中文日韩av乱码 | 亚洲一区二区三区四区 | 狂野欧美性猛交免费视频 | 成人aaa片一区国产精品 | 97夜夜澡人人爽人人喊中国片 | 无码人妻黑人中文字幕 | 色偷偷人人澡人人爽人人模 | 欧美成人高清在线播放 | 一本色道久久综合亚洲精品不卡 | 在线成人www免费观看视频 | 51国偷自产一区二区三区 | 亚洲精品综合一区二区三区在线 | 国产一区二区三区精品视频 | 国产熟妇另类久久久久 | 国产亚洲精品久久久ai换 | 国产成人亚洲综合无码 | 日本又色又爽又黄的a片18禁 | 天干天干啦夜天干天2017 | 伊人久久大香线蕉av一区二区 | 久久久久久av无码免费看大片 | 无遮挡国产高潮视频免费观看 | 性色av无码免费一区二区三区 | 午夜成人1000部免费视频 | 国产猛烈高潮尖叫视频免费 | 丰满人妻精品国产99aⅴ | 国产无遮挡吃胸膜奶免费看 | 日韩在线不卡免费视频一区 | 少妇厨房愉情理9仑片视频 | 野狼第一精品社区 | 377p欧洲日本亚洲大胆 | a在线观看免费网站大全 | 国产人妻久久精品二区三区老狼 | 久久久久久久久888 | 国产激情艳情在线看视频 | 久久久久成人片免费观看蜜芽 | 国产区女主播在线观看 | 网友自拍区视频精品 | 亚洲日韩一区二区三区 | 欧美精品免费观看二区 | 在线观看免费人成视频 | 无遮挡国产高潮视频免费观看 | 欧美黑人乱大交 | 国产乱人无码伦av在线a | 亚洲a无码综合a国产av中文 | 国产免费久久久久久无码 | 99精品视频在线观看免费 | 国产亚av手机在线观看 | 两性色午夜免费视频 | а√资源新版在线天堂 | 亚洲精品一区二区三区大桥未久 | 国产成人av免费观看 | 精品无码成人片一区二区98 | 天堂а√在线地址中文在线 | 精品久久久久久亚洲精品 | 99久久人妻精品免费一区 | 99国产精品白浆在线观看免费 | 色综合久久久无码网中文 | 国产超级va在线观看视频 | 亚洲国产午夜精品理论片 | 国产真人无遮挡作爱免费视频 | 三上悠亚人妻中文字幕在线 | 久久精品国产一区二区三区肥胖 | 最新版天堂资源中文官网 | 国产精品视频免费播放 | 领导边摸边吃奶边做爽在线观看 | 国产精品18久久久久久麻辣 | 四十如虎的丰满熟妇啪啪 | 波多野结衣 黑人 | 76少妇精品导航 | 婷婷丁香六月激情综合啪 | www一区二区www免费 | 亚洲男人av香蕉爽爽爽爽 | 精品国偷自产在线视频 | 亚洲精品成人av在线 | 亚洲啪av永久无码精品放毛片 | 无码一区二区三区在线观看 | 国产精品久久久久无码av色戒 | 青草视频在线播放 | 国产综合色产在线精品 | 天堂а√在线中文在线 | 国产免费久久久久久无码 | 亚洲国产午夜精品理论片 | 蜜桃av抽搐高潮一区二区 | 亚洲欧美精品aaaaaa片 | a片免费视频在线观看 | 内射欧美老妇wbb | 激情内射亚州一区二区三区爱妻 | 撕开奶罩揉吮奶头视频 | 欧美大屁股xxxxhd黑色 | 中文字幕亚洲情99在线 | 国产精品内射视频免费 | 无码任你躁久久久久久久 | 无码av中文字幕免费放 | 三上悠亚人妻中文字幕在线 | 日韩欧美群交p片內射中文 | 国产莉萝无码av在线播放 | 久久亚洲日韩精品一区二区三区 | 一本色道婷婷久久欧美 | 国产av剧情md精品麻豆 | 在线观看欧美一区二区三区 | 精品无码国产一区二区三区av | 四十如虎的丰满熟妇啪啪 | 亚洲七七久久桃花影院 | 欧美三级a做爰在线观看 | 麻豆国产丝袜白领秘书在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 欧美激情一区二区三区成人 | 亚洲欧美中文字幕5发布 | 黑森林福利视频导航 | 国产色xx群视频射精 | 成熟妇人a片免费看网站 | 久久久成人毛片无码 | 国产xxx69麻豆国语对白 | 免费播放一区二区三区 | 人妻夜夜爽天天爽三区 | 久久午夜无码鲁丝片秋霞 | 国产成人精品视频ⅴa片软件竹菊 | 久久久久成人片免费观看蜜芽 | 中文无码成人免费视频在线观看 | 亚洲小说图区综合在线 | 55夜色66夜色国产精品视频 | 婷婷丁香五月天综合东京热 | 国产99久久精品一区二区 | 免费中文字幕日韩欧美 | 国产精品久久久久9999小说 | 高中生自慰www网站 | av香港经典三级级 在线 | 国产精品久久福利网站 | 一本色道婷婷久久欧美 | 99久久婷婷国产综合精品青草免费 | 国产人妻精品午夜福利免费 | 中文字幕中文有码在线 | 国产精品久免费的黄网站 | 1000部啪啪未满十八勿入下载 | 少妇邻居内射在线 | 撕开奶罩揉吮奶头视频 | 性啪啪chinese东北女人 | 成 人 网 站国产免费观看 | 精品欧洲av无码一区二区三区 | 偷窥日本少妇撒尿chinese | 无码乱肉视频免费大全合集 | 色诱久久久久综合网ywww | 色婷婷av一区二区三区之红樱桃 | 色噜噜亚洲男人的天堂 | 国产成人精品无码播放 | 亚洲欧洲日本无在线码 | 一区二区传媒有限公司 | 国产成人无码av一区二区 | 成 人 免费观看网站 | 国产综合久久久久鬼色 | 亚洲国产欧美日韩精品一区二区三区 | 成人欧美一区二区三区黑人 | 中文久久乱码一区二区 | 一本加勒比波多野结衣 | 偷窥村妇洗澡毛毛多 | 天天做天天爱天天爽综合网 | 精品国产aⅴ无码一区二区 | 亚洲人成无码网www | 亚洲综合久久一区二区 | 精品久久8x国产免费观看 | 领导边摸边吃奶边做爽在线观看 | 久久久精品人妻久久影视 | 中文毛片无遮挡高清免费 | 久久天天躁狠狠躁夜夜免费观看 | 97久久国产亚洲精品超碰热 | 亚洲一区二区三区无码久久 | 狂野欧美性猛交免费视频 | 国精产品一区二区三区 | 日韩精品a片一区二区三区妖精 | 亚洲国产日韩a在线播放 | 粗大的内捧猛烈进出视频 | 国产福利视频一区二区 | 成在人线av无码免费 | 狂野欧美激情性xxxx | 亚洲色无码一区二区三区 | 日本一区二区更新不卡 | 中文字幕乱码中文乱码51精品 | 97资源共享在线视频 | 亚洲一区二区三区在线观看网站 | 日本爽爽爽爽爽爽在线观看免 | 日本乱偷人妻中文字幕 | 国产一区二区不卡老阿姨 | 亚洲综合色区中文字幕 | 亚无码乱人伦一区二区 | 日本免费一区二区三区最新 | 国产绳艺sm调教室论坛 | 中文字幕乱妇无码av在线 | 亚洲欧美中文字幕5发布 | 成人一在线视频日韩国产 | 国产激情综合五月久久 | 麻豆果冻传媒2021精品传媒一区下载 | 欧美性猛交内射兽交老熟妇 | 中文字幕乱码中文乱码51精品 | 欧美熟妇另类久久久久久不卡 | 亚洲精品欧美二区三区中文字幕 | 国产一区二区三区四区五区加勒比 | 欧美丰满熟妇xxxx | 国产精品国产自线拍免费软件 | 久久精品无码一区二区三区 | www国产亚洲精品久久久日本 | 日本大香伊一区二区三区 | 国产无遮挡吃胸膜奶免费看 | 日日干夜夜干 | 国产香蕉尹人综合在线观看 | 午夜男女很黄的视频 | 天堂无码人妻精品一区二区三区 | 精品无码av一区二区三区 | 亚洲欧美日韩综合久久久 | 国产亚洲视频中文字幕97精品 | 激情内射亚州一区二区三区爱妻 | 国产成人无码区免费内射一片色欲 | 少妇无套内谢久久久久 | 人妻互换免费中文字幕 | 日本成熟视频免费视频 | 婷婷综合久久中文字幕蜜桃三电影 | 国产成人精品视频ⅴa片软件竹菊 | 性欧美videos高清精品 | 国产精品久久福利网站 | 又粗又大又硬又长又爽 | 精品久久久久久人妻无码中文字幕 | 日韩av激情在线观看 | 国产高清不卡无码视频 | 狠狠躁日日躁夜夜躁2020 | 东京热男人av天堂 | www成人国产高清内射 | 一本精品99久久精品77 | 国产激情无码一区二区 | 色欲综合久久中文字幕网 | 欧美人与牲动交xxxx | 精品国产aⅴ无码一区二区 | 久久精品成人欧美大片 | 欧美黑人乱大交 | 国产午夜手机精彩视频 | 久9re热视频这里只有精品 | 亚洲精品国产精品乱码不卡 | 久久国产自偷自偷免费一区调 | 国产成人无码a区在线观看视频app | 无码人妻少妇伦在线电影 | 日本免费一区二区三区最新 | 日韩视频 中文字幕 视频一区 | 国产精品99久久精品爆乳 | 国产精品久久精品三级 | 中文字幕日产无线码一区 | 欧美真人作爱免费视频 | 黑人大群体交免费视频 | 国产精品人人妻人人爽 | 亚洲色成人中文字幕网站 | 国产xxx69麻豆国语对白 | 扒开双腿吃奶呻吟做受视频 | 日日天日日夜日日摸 | 夜夜影院未满十八勿进 | 伦伦影院午夜理论片 | 国产精品久久久 | 成人动漫在线观看 | 亚洲熟妇色xxxxx欧美老妇 | 国产激情无码一区二区app | 亚洲娇小与黑人巨大交 | 精品久久8x国产免费观看 | 精品久久综合1区2区3区激情 | 水蜜桃av无码 | 三级4级全黄60分钟 | 一个人看的www免费视频在线观看 | 人人妻人人澡人人爽人人精品浪潮 | 免费国产黄网站在线观看 | 国产综合色产在线精品 | 国产手机在线αⅴ片无码观看 | 国产在线无码精品电影网 | 蜜桃无码一区二区三区 | 精品久久久久久亚洲精品 | 性色欲网站人妻丰满中文久久不卡 | 无码中文字幕色专区 | 国产精品美女久久久久av爽李琼 | 正在播放老肥熟妇露脸 | 噜噜噜亚洲色成人网站 | 老太婆性杂交欧美肥老太 | ass日本丰满熟妇pics | 国产精品久免费的黄网站 | 美女扒开屁股让男人桶 | 人妻夜夜爽天天爽三区 | 奇米影视7777久久精品 | 欧美高清在线精品一区 | 免费观看激色视频网站 | 精品国产青草久久久久福利 | 亚洲精品一区二区三区大桥未久 | 99er热精品视频 | 大肉大捧一进一出视频出来呀 | 高潮毛片无遮挡高清免费 | 东北女人啪啪对白 | 欧美日韩综合一区二区三区 | 国产一区二区三区日韩精品 | 青草青草久热国产精品 | 久久综合色之久久综合 | 国产激情一区二区三区 | 一个人看的www免费视频在线观看 | 久久久精品456亚洲影院 | 亚洲高清偷拍一区二区三区 | 欧美精品在线观看 | 人人妻人人澡人人爽人人精品浪潮 | 性生交大片免费看l | 国产色视频一区二区三区 | 国产精品视频免费播放 | 人妻体内射精一区二区三四 | 国产 精品 自在自线 | 99久久久无码国产aaa精品 | 一个人看的www免费视频在线观看 | 国产精品自产拍在线观看 | 国产精品-区区久久久狼 | 国产免费观看黄av片 | 日韩在线不卡免费视频一区 | 兔费看少妇性l交大片免费 | 国产麻豆精品精东影业av网站 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 精品日本一区二区三区在线观看 | 欧美精品一区二区精品久久 | 国产国产精品人在线视 | 免费男性肉肉影院 | 国产在线精品一区二区三区直播 | 久久综合激激的五月天 | 四虎4hu永久免费 | 九九热爱视频精品 | 丰满妇女强制高潮18xxxx | 亚洲精品午夜无码电影网 | v一区无码内射国产 | 欧美第一黄网免费网站 | 国产真实夫妇视频 | 国产精品无码一区二区桃花视频 | 亚洲精品成人福利网站 | 欧美精品一区二区精品久久 | 色偷偷人人澡人人爽人人模 | 亚洲男女内射在线播放 | 啦啦啦www在线观看免费视频 | 国产精品免费大片 | 荫蒂被男人添的好舒服爽免费视频 | 国产一精品一av一免费 | 97久久精品无码一区二区 | 强奷人妻日本中文字幕 | 伊在人天堂亚洲香蕉精品区 | 成人免费视频视频在线观看 免费 | а√资源新版在线天堂 | 欧美丰满少妇xxxx性 | 亚洲熟女一区二区三区 | 日产精品高潮呻吟av久久 | 欧美肥老太牲交大战 | 麻花豆传媒剧国产免费mv在线 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲国产精品毛片av不卡在线 | 精品国产麻豆免费人成网站 | 帮老师解开蕾丝奶罩吸乳网站 | 好男人www社区 | 精品国产一区av天美传媒 | 国产9 9在线 | 中文 | 成人亚洲精品久久久久软件 | 欧美熟妇另类久久久久久多毛 | 亚洲人成网站在线播放942 | 女人被男人爽到呻吟的视频 | 久久成人a毛片免费观看网站 | 欧美成人免费全部网站 | 领导边摸边吃奶边做爽在线观看 | 国产欧美熟妇另类久久久 | 啦啦啦www在线观看免费视频 | 亚洲小说春色综合另类 | 精品国产aⅴ无码一区二区 | 亚洲男人av香蕉爽爽爽爽 | 夜先锋av资源网站 | 国产精品久久久久无码av色戒 | 精品乱码久久久久久久 | 欧美性生交活xxxxxdddd | 好屌草这里只有精品 | 色情久久久av熟女人妻网站 | 亚洲成av人在线观看网址 | 久久97精品久久久久久久不卡 | 久久综合狠狠综合久久综合88 | 国产办公室秘书无码精品99 | 亚洲精品成人av在线 | 日本一区二区三区免费高清 | 成人一区二区免费视频 | 日韩无套无码精品 | 国产av一区二区三区最新精品 | 国产精品美女久久久久av爽李琼 | 日韩欧美中文字幕公布 | 黑人巨大精品欧美一区二区 | 欧美freesex黑人又粗又大 | 国产精品自产拍在线观看 | 午夜福利不卡在线视频 | 性生交大片免费看l | 丰满诱人的人妻3 | 四虎国产精品一区二区 | 久久久婷婷五月亚洲97号色 | 精品无人国产偷自产在线 | 久久精品视频在线看15 | 亚洲精品成人福利网站 | 亚洲日本va中文字幕 | 最新国产乱人伦偷精品免费网站 | 俺去俺来也www色官网 | 久久伊人色av天堂九九小黄鸭 | 亚洲一区二区观看播放 | 麻豆md0077饥渴少妇 | 国产人成高清在线视频99最全资源 | 超碰97人人射妻 | 亚洲人成影院在线无码按摩店 | 国产精品久久久久久亚洲毛片 | 精品亚洲成av人在线观看 | 性生交片免费无码看人 | 亚洲中文字幕无码中文字在线 | 天天综合网天天综合色 | 色一情一乱一伦一区二区三欧美 | 国内精品久久久久久中文字幕 | 亚洲码国产精品高潮在线 | 国产色精品久久人妻 | 天天燥日日燥 | 无码人妻久久一区二区三区不卡 | 3d动漫精品啪啪一区二区中 | 又色又爽又黄的美女裸体网站 | 国产精品免费大片 | 国产色在线 | 国产 | 中文毛片无遮挡高清免费 | 欧美老人巨大xxxx做受 | 人人爽人人澡人人高潮 | 国产免费久久精品国产传媒 | 国产乱子伦视频在线播放 | 76少妇精品导航 | 精品人人妻人人澡人人爽人人 | 亚洲欧美国产精品专区久久 | 天天拍夜夜添久久精品大 | 十八禁真人啪啪免费网站 | 国产精品人人妻人人爽 | 国产亚洲精品久久久久久大师 | 久久精品国产日本波多野结衣 | 男女性色大片免费网站 | 99riav国产精品视频 | 日本爽爽爽爽爽爽在线观看免 | 18禁黄网站男男禁片免费观看 | 人妻人人添人妻人人爱 | 国产午夜视频在线观看 | 日本精品久久久久中文字幕 | 亚洲日本va午夜在线电影 | 国产精品无套呻吟在线 | 久激情内射婷内射蜜桃人妖 | 国产精品久久久久久久影院 | 欧美日韩视频无码一区二区三 | 亚洲国产av美女网站 | 日产精品99久久久久久 | 久久久精品成人免费观看 | 综合网日日天干夜夜久久 | 亚洲欧洲日本综合aⅴ在线 | 日本精品高清一区二区 | 久久五月精品中文字幕 | 无码人妻久久一区二区三区不卡 | 真人与拘做受免费视频一 | 国产成人综合色在线观看网站 | 奇米影视7777久久精品 | 色欲av亚洲一区无码少妇 | 欧美性生交活xxxxxdddd | 老熟妇乱子伦牲交视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产在线一区二区三区四区五区 | 国产又爽又黄又刺激的视频 | 六十路熟妇乱子伦 | 无码人妻丰满熟妇区五十路百度 | 成人av无码一区二区三区 | 成人试看120秒体验区 | 色一情一乱一伦一视频免费看 | 亚洲理论电影在线观看 | 欧美日韩精品 | 小泽玛莉亚一区二区视频在线 | 国产精品国产自线拍免费软件 | 老熟妇仑乱视频一区二区 | 国产成人无码av在线影院 | 亚洲熟女一区二区三区 | 国产一区二区三区影院 | 欧美兽交xxxx×视频 | 77777熟女视频在线观看 а天堂中文在线官网 | 亚洲色成人中文字幕网站 | 亚拍精品一区二区三区探花 | 中文字幕日产无线码一区 | 亚洲日本va中文字幕 | 欧美丰满熟妇xxxx | 国产人成高清在线视频99最全资源 | 成人试看120秒体验区 | 好爽又高潮了毛片免费下载 | 少妇性俱乐部纵欲狂欢电影 | 永久免费精品精品永久-夜色 | 国产成人无码专区 | 亚洲自偷自拍另类第1页 | 国产深夜福利视频在线 | 无码精品人妻一区二区三区av | 亚洲成a人片在线观看日本 | 超碰97人人射妻 | 国产真实乱对白精彩久久 | 久久精品女人天堂av免费观看 | 国产人妻人伦精品 | 色窝窝无码一区二区三区色欲 | 亚洲精品成人福利网站 | 大肉大捧一进一出视频出来呀 | 国产成人av免费观看 | 色噜噜亚洲男人的天堂 | 国产成人综合在线女婷五月99播放 | 亚洲精品国产精品乱码不卡 | 亚洲精品一区二区三区大桥未久 | 天堂а√在线地址中文在线 | 久久综合狠狠综合久久综合88 | 东京热男人av天堂 | 精品欧美一区二区三区久久久 | 久久无码中文字幕免费影院蜜桃 | 天天摸天天透天天添 | 国产超碰人人爽人人做人人添 | 少妇无码吹潮 | 亚洲中文字幕乱码av波多ji | 精品乱码久久久久久久 | 日本熟妇人妻xxxxx人hd | 狂野欧美性猛xxxx乱大交 | 激情国产av做激情国产爱 | 夜夜躁日日躁狠狠久久av | www一区二区www免费 | 久久久久亚洲精品中文字幕 | 内射巨臀欧美在线视频 | 国产人妻久久精品二区三区老狼 | 亚洲日韩av一区二区三区中文 | 成在人线av无码免费 | 自拍偷自拍亚洲精品10p | 无码av免费一区二区三区试看 | 秋霞成人午夜鲁丝一区二区三区 | √天堂中文官网8在线 | 熟妇人妻激情偷爽文 | 自拍偷自拍亚洲精品被多人伦好爽 | 无码人妻久久一区二区三区不卡 | 国产精品沙发午睡系列 | 色 综合 欧美 亚洲 国产 | 国产av一区二区精品久久凹凸 | 中文字幕人成乱码熟女app | 在线精品国产一区二区三区 | 亚洲色欲久久久综合网东京热 | 麻豆md0077饥渴少妇 | 亚洲s码欧洲m码国产av | 国内精品久久毛片一区二区 | 无码免费一区二区三区 | 国内精品久久毛片一区二区 | 亚欧洲精品在线视频免费观看 | a在线亚洲男人的天堂 | 无码毛片视频一区二区本码 | 精品偷拍一区二区三区在线看 | 久久久国产一区二区三区 | 亚洲一区二区三区偷拍女厕 | 成人动漫在线观看 | 131美女爱做视频 | 欧美xxxxx精品 | 国产精品资源一区二区 | 国产熟妇高潮叫床视频播放 | 在线精品亚洲一区二区 | 色综合久久88色综合天天 | 久久精品人妻少妇一区二区三区 | 国产精品丝袜黑色高跟鞋 | 中文亚洲成a人片在线观看 | 一二三四在线观看免费视频 | 精品一区二区三区无码免费视频 | 欧洲熟妇色 欧美 | 亚洲成a人片在线观看无码3d | 欧美国产日韩久久mv | 对白脏话肉麻粗话av | 四十如虎的丰满熟妇啪啪 | 丰满妇女强制高潮18xxxx | 久久人人爽人人爽人人片av高清 | 日本又色又爽又黄的a片18禁 | 日产精品高潮呻吟av久久 | 天干天干啦夜天干天2017 | 久久久精品欧美一区二区免费 | 99久久亚洲精品无码毛片 | 好男人社区资源 | 俄罗斯老熟妇色xxxx | 色窝窝无码一区二区三区色欲 | 欧美丰满老熟妇xxxxx性 | 亚洲色在线无码国产精品不卡 | 中文字幕无码av激情不卡 | 亚洲aⅴ无码成人网站国产app | 国产凸凹视频一区二区 | 99久久久无码国产aaa精品 | 综合人妻久久一区二区精品 | 婷婷综合久久中文字幕蜜桃三电影 | 一二三四在线观看免费视频 | 亚洲精品综合一区二区三区在线 | 无码国产色欲xxxxx视频 | 中文字幕无码av激情不卡 | 亚洲精品美女久久久久久久 | 无套内射视频囯产 | 日韩少妇内射免费播放 | 久久国内精品自在自线 | 精品无码一区二区三区的天堂 | 麻豆av传媒蜜桃天美传媒 | 精品偷拍一区二区三区在线看 | 国产精品久久久久无码av色戒 | aⅴ亚洲 日韩 色 图网站 播放 | www国产亚洲精品久久久日本 | 国产av久久久久精东av | 老司机亚洲精品影院 | 蜜桃视频韩日免费播放 | 巨爆乳无码视频在线观看 | 国产午夜手机精彩视频 | 亚洲区欧美区综合区自拍区 | 国产欧美精品一区二区三区 | 人妻少妇精品视频专区 | 国产亚洲精品久久久久久 | 国产欧美精品一区二区三区 | 中文字幕乱码人妻无码久久 | 人妻夜夜爽天天爽三区 | 大地资源中文第3页 | 国产av一区二区精品久久凹凸 | 真人与拘做受免费视频一 | 精品熟女少妇av免费观看 | 玩弄人妻少妇500系列视频 | 久激情内射婷内射蜜桃人妖 | 粗大的内捧猛烈进出视频 | 天天av天天av天天透 | 亚洲熟悉妇女xxx妇女av | 色窝窝无码一区二区三区色欲 | 欧美日韩视频无码一区二区三 | 久久久久免费精品国产 | 亚洲理论电影在线观看 | 波多野结衣一区二区三区av免费 | 日韩亚洲欧美精品综合 | 色综合天天综合狠狠爱 | 无码人妻出轨黑人中文字幕 | 日韩亚洲欧美精品综合 | 大肉大捧一进一出好爽视频 | 日韩精品无码一区二区中文字幕 | 麻豆av传媒蜜桃天美传媒 | 内射老妇bbwx0c0ck | 人妻互换免费中文字幕 | 久久成人a毛片免费观看网站 | 色综合久久久无码中文字幕 | 男女下面进入的视频免费午夜 | 内射后入在线观看一区 | 欧美人与牲动交xxxx | 欧美 日韩 人妻 高清 中文 | 97夜夜澡人人双人人人喊 | 老熟妇仑乱视频一区二区 | 99riav国产精品视频 | 午夜福利电影 | 日日天干夜夜狠狠爱 | 久久久久亚洲精品中文字幕 | 久久精品女人的天堂av | 国产成人精品三级麻豆 | 婷婷五月综合缴情在线视频 | 亚洲乱码日产精品bd | 一二三四社区在线中文视频 | 国产香蕉尹人视频在线 | 成人免费视频视频在线观看 免费 | 国产成人无码一二三区视频 | 精品久久久无码中文字幕 | 亚洲s码欧洲m码国产av | 又粗又大又硬又长又爽 | 日本免费一区二区三区最新 | 中文字幕乱妇无码av在线 | 久久精品女人天堂av免费观看 | 男女爱爱好爽视频免费看 | 天天拍夜夜添久久精品大 | 人人妻人人澡人人爽欧美精品 | 日韩欧美中文字幕公布 | 人妻少妇精品视频专区 | 亚洲色欲色欲天天天www | 亚洲国产欧美在线成人 | 鲁大师影院在线观看 | 国产色视频一区二区三区 | 日本大乳高潮视频在线观看 | 国产极品美女高潮无套在线观看 | 欧美性猛交内射兽交老熟妇 | 黑人玩弄人妻中文在线 | 国产卡一卡二卡三 | 亚洲色欲色欲天天天www | 亚欧洲精品在线视频免费观看 | 国产乱人偷精品人妻a片 | 国产又粗又硬又大爽黄老大爷视 | 蜜臀aⅴ国产精品久久久国产老师 | 思思久久99热只有频精品66 | 少妇人妻大乳在线视频 | 日韩人妻无码一区二区三区久久99 | 国产午夜福利亚洲第一 | 欧美激情综合亚洲一二区 | 国产成人精品无码播放 | 亚洲熟妇色xxxxx亚洲 | 中文字幕无码av激情不卡 | 99精品无人区乱码1区2区3区 | 亚洲の无码国产の无码步美 | 蜜桃无码一区二区三区 | 久久人妻内射无码一区三区 | 久热国产vs视频在线观看 | 精品 日韩 国产 欧美 视频 | 婷婷五月综合激情中文字幕 | 久久久久久久人妻无码中文字幕爆 | 熟女体下毛毛黑森林 | 国产激情无码一区二区 | 国产在线无码精品电影网 | 久久精品人人做人人综合试看 | 国产成人综合色在线观看网站 | 亚洲高清偷拍一区二区三区 | 天堂无码人妻精品一区二区三区 | 男女作爱免费网站 | 美女极度色诱视频国产 | 欧美人与禽猛交狂配 | 强开小婷嫩苞又嫩又紧视频 | 2020久久香蕉国产线看观看 | 国产真实夫妇视频 | 性啪啪chinese东北女人 | 人妻熟女一区 | 十八禁视频网站在线观看 | 成人亚洲精品久久久久软件 | 亚洲精品一区二区三区在线观看 | 精品久久8x国产免费观看 | a片在线免费观看 | 在线a亚洲视频播放在线观看 | 亚洲精品国产精品乱码视色 | 国产精品久免费的黄网站 | 黄网在线观看免费网站 | 国产热a欧美热a在线视频 | 亚洲经典千人经典日产 | 日韩欧美中文字幕在线三区 | 无码av最新清无码专区吞精 | 免费国产成人高清在线观看网站 | 兔费看少妇性l交大片免费 | 国产口爆吞精在线视频 | 日日鲁鲁鲁夜夜爽爽狠狠 | 久久99精品久久久久久动态图 | 天天拍夜夜添久久精品 | 撕开奶罩揉吮奶头视频 | 又黄又爽又色的视频 | 国产亚洲精品久久久久久 | 亚洲无人区一区二区三区 | 影音先锋中文字幕无码 | 老熟女乱子伦 | 亚洲国产精品无码一区二区三区 | a国产一区二区免费入口 | 成人欧美一区二区三区黑人 | 欧美乱妇无乱码大黄a片 | 一个人免费观看的www视频 | 精品一区二区三区波多野结衣 | 日韩人妻系列无码专区 | 欧美 日韩 人妻 高清 中文 | 学生妹亚洲一区二区 | 国产美女精品一区二区三区 | 无码乱肉视频免费大全合集 | 日韩少妇白浆无码系列 | 在线观看欧美一区二区三区 | 成人亚洲精品久久久久软件 | 日产精品高潮呻吟av久久 | 亚洲综合久久一区二区 | 亚洲日本va午夜在线电影 | 国产午夜亚洲精品不卡下载 | 国产乱人无码伦av在线a | 免费中文字幕日韩欧美 | ass日本丰满熟妇pics | 亚洲精品无码国产 | 青青久在线视频免费观看 | 人妻互换免费中文字幕 | 色噜噜亚洲男人的天堂 | 色情久久久av熟女人妻网站 | 亚洲第一网站男人都懂 | 少妇被黑人到高潮喷出白浆 | 中文字幕人妻无码一区二区三区 | 亚洲 a v无 码免 费 成 人 a v | 男女下面进入的视频免费午夜 | 男女作爱免费网站 | 亚洲乱码日产精品bd | 在线欧美精品一区二区三区 | 久久精品国产99精品亚洲 | 精品无人区无码乱码毛片国产 | 欧美黑人性暴力猛交喷水 | 国产区女主播在线观看 | 少妇厨房愉情理9仑片视频 | 亚洲乱码中文字幕在线 | 亚洲国产精华液网站w | 无码av中文字幕免费放 | 久久国内精品自在自线 | 婷婷六月久久综合丁香 | 双乳奶水饱满少妇呻吟 | 亚洲精品欧美二区三区中文字幕 | 国产精品丝袜黑色高跟鞋 | 红桃av一区二区三区在线无码av | 香港三级日本三级妇三级 | 亚洲无人区午夜福利码高清完整版 | 色一情一乱一伦 | 美女扒开屁股让男人桶 | 夜精品a片一区二区三区无码白浆 | 乌克兰少妇xxxx做受 | 无码人妻少妇伦在线电影 | 国产精品久久久久久久9999 | 亚洲中文字幕无码中文字在线 | 亚洲第一无码av无码专区 | 色诱久久久久综合网ywww | 蜜桃臀无码内射一区二区三区 | 国内精品人妻无码久久久影院蜜桃 | 亚洲中文字幕av在天堂 | 丰满妇女强制高潮18xxxx | 对白脏话肉麻粗话av | 亚洲欧美中文字幕5发布 | 亚洲精品久久久久久一区二区 | 午夜免费福利小电影 | 久久久中文久久久无码 | 国产成人无码a区在线观看视频app | 久久久精品456亚洲影院 | 亚洲综合久久一区二区 | 日日碰狠狠躁久久躁蜜桃 | 亚洲欧美精品aaaaaa片 | 国产偷抇久久精品a片69 | 性做久久久久久久久 | 精品无码av一区二区三区 | 亚洲人成网站免费播放 | 日韩视频 中文字幕 视频一区 | 亚洲大尺度无码无码专区 | 人人超人人超碰超国产 | 亚洲天堂2017无码 | 大色综合色综合网站 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 97精品人妻一区二区三区香蕉 | 亚洲综合无码一区二区三区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产色精品久久人妻 | 无码午夜成人1000部免费视频 | 丰满少妇高潮惨叫视频 | 丰满少妇熟乱xxxxx视频 | 欧美亚洲国产一区二区三区 | 精品国产麻豆免费人成网站 | 亚洲s色大片在线观看 | 国产免费无码一区二区视频 | 男女爱爱好爽视频免费看 | 亚洲精品综合五月久久小说 | 久久久久久国产精品无码下载 | 人妻中文无码久热丝袜 | 亚洲一区二区三区四区 | 麻豆国产人妻欲求不满谁演的 | 中文字幕乱码人妻二区三区 | 国产精品国产三级国产专播 | 女人被男人爽到呻吟的视频 | 精品无码成人片一区二区98 | 亚洲大尺度无码无码专区 | 亚洲国产成人a精品不卡在线 | 少妇被黑人到高潮喷出白浆 | 水蜜桃亚洲一二三四在线 | 在线观看国产一区二区三区 | 少妇性荡欲午夜性开放视频剧场 | 扒开双腿吃奶呻吟做受视频 | 国产无遮挡又黄又爽又色 | 亚洲色欲色欲欲www在线 | 国产激情精品一区二区三区 | 久久人人97超碰a片精品 | 久久99精品久久久久久 | 欧美变态另类xxxx | 综合激情五月综合激情五月激情1 | 一本色道婷婷久久欧美 | 国产精品久久久久久久9999 | 欧美肥老太牲交大战 | 图片小说视频一区二区 | 中文字幕无码日韩专区 | 欧洲熟妇色 欧美 | √天堂资源地址中文在线 | 乱人伦人妻中文字幕无码 | 大胆欧美熟妇xx | 久久综合色之久久综合 | 欧美日韩一区二区三区自拍 | а√资源新版在线天堂 | 亚洲男女内射在线播放 | 亚欧洲精品在线视频免费观看 | 综合网日日天干夜夜久久 | 精品一区二区不卡无码av | 国产午夜视频在线观看 | 岛国片人妻三上悠亚 | 久久天天躁夜夜躁狠狠 | 中文字幕av无码一区二区三区电影 | 无套内谢的新婚少妇国语播放 | 国产亚洲美女精品久久久2020 | 丰满少妇高潮惨叫视频 | 国产成人av免费观看 | 巨爆乳无码视频在线观看 | 久久99久久99精品中文字幕 | 图片区 小说区 区 亚洲五月 | 久久精品中文字幕大胸 | 一本精品99久久精品77 | 亚洲国产欧美在线成人 | 亚洲一区二区三区国产精华液 | 亚洲精品www久久久 | 国产精华av午夜在线观看 | 国产av剧情md精品麻豆 | 成人精品一区二区三区中文字幕 | 精品偷自拍另类在线观看 | 国产精品亚洲综合色区韩国 | 日本护士xxxxhd少妇 | 乱人伦人妻中文字幕无码久久网 | 女人色极品影院 | 精品亚洲韩国一区二区三区 | 亚洲精品一区国产 | 亚洲色www成人永久网址 | 中文字幕av日韩精品一区二区 | 扒开双腿疯狂进出爽爽爽视频 | 波多野结衣aⅴ在线 | 欧美高清在线精品一区 | 88国产精品欧美一区二区三区 | aⅴ在线视频男人的天堂 | 天天综合网天天综合色 | 乱码午夜-极国产极内射 | 亚洲精品无码国产 | 欧美亚洲日韩国产人成在线播放 | 草草网站影院白丝内射 | 久久久成人毛片无码 | 国色天香社区在线视频 | 亚洲国产精品美女久久久久 | 一本久久伊人热热精品中文字幕 | 午夜不卡av免费 一本久久a久久精品vr综合 | 亚洲 另类 在线 欧美 制服 | 成年女人永久免费看片 | 久久精品人妻少妇一区二区三区 | 午夜无码人妻av大片色欲 | 人人妻人人澡人人爽人人精品浪潮 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲乱亚洲乱妇50p | 成人无码精品1区2区3区免费看 | 无码人妻精品一区二区三区下载 | 西西人体www44rt大胆高清 | 欧美日韩一区二区综合 | 2020久久超碰国产精品最新 | 国产av一区二区三区最新精品 | 国产成人一区二区三区别 | 久在线观看福利视频 | 在线观看免费人成视频 | 四虎国产精品一区二区 | 露脸叫床粗话东北少妇 | 日韩 欧美 动漫 国产 制服 | 日韩亚洲欧美精品综合 | 日本精品少妇一区二区三区 | 国产成人无码区免费内射一片色欲 | 欧美日韩一区二区免费视频 | √天堂资源地址中文在线 | 精品亚洲韩国一区二区三区 | 国产又粗又硬又大爽黄老大爷视 | 久久久久免费看成人影片 | 精品偷自拍另类在线观看 | 亚洲自偷精品视频自拍 | 少妇的肉体aa片免费 | 久久精品国产99精品亚洲 | 久在线观看福利视频 | 色婷婷综合激情综在线播放 | 色偷偷人人澡人人爽人人模 | 中文字幕av伊人av无码av | 国产精品久久久久久亚洲毛片 | 久久精品国产99精品亚洲 | 亚拍精品一区二区三区探花 | 亚洲熟妇自偷自拍另类 | 免费国产成人高清在线观看网站 | 亚洲午夜无码久久 | 久久国语露脸国产精品电影 | 激情人妻另类人妻伦 | 国产极品美女高潮无套在线观看 | 久久人人爽人人爽人人片av高清 | 日本熟妇大屁股人妻 | 少妇高潮喷潮久久久影院 | 亚洲人亚洲人成电影网站色 | 日本一区二区更新不卡 | 国产69精品久久久久app下载 | 全黄性性激高免费视频 | 国精产品一品二品国精品69xx | 扒开双腿疯狂进出爽爽爽视频 | 在线亚洲高清揄拍自拍一品区 | 人妻少妇精品视频专区 | 国产猛烈高潮尖叫视频免费 | 欧美精品一区二区精品久久 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 牛和人交xxxx欧美 | 日日天日日夜日日摸 | 精品无码国产一区二区三区av | 国产超级va在线观看视频 | 人人妻人人澡人人爽欧美精品 | 久久久久成人精品免费播放动漫 | 国产另类ts人妖一区二区 | 牛和人交xxxx欧美 | 亚洲自偷自拍另类第1页 | 扒开双腿疯狂进出爽爽爽视频 | 亚拍精品一区二区三区探花 | 亚洲成色在线综合网站 | 久久精品女人的天堂av | 扒开双腿吃奶呻吟做受视频 | 人人妻人人藻人人爽欧美一区 | 中文字幕无码免费久久99 | 四虎国产精品一区二区 | 欧美人与物videos另类 | 国产综合色产在线精品 | 少妇人妻av毛片在线看 | 成人免费视频视频在线观看 免费 | 免费播放一区二区三区 | 55夜色66夜色国产精品视频 | 欧美freesex黑人又粗又大 | 国产人妻精品一区二区三区 | 丝袜 中出 制服 人妻 美腿 | 国产深夜福利视频在线 | 少妇愉情理伦片bd | 97精品人妻一区二区三区香蕉 | 狠狠综合久久久久综合网 | 亚洲中文字幕在线无码一区二区 | 丰满岳乱妇在线观看中字无码 | 任你躁国产自任一区二区三区 | 国产成人精品无码播放 | 天天燥日日燥 | 超碰97人人做人人爱少妇 | 国产精品内射视频免费 | 亚洲精品国产第一综合99久久 | 亚洲va中文字幕无码久久不卡 | 综合激情五月综合激情五月激情1 | 国精产品一区二区三区 | 免费国产成人高清在线观看网站 | 色综合久久88色综合天天 | 亚洲日本va中文字幕 | 国产一区二区不卡老阿姨 | 欧美丰满少妇xxxx性 | 东京无码熟妇人妻av在线网址 | 性欧美牲交xxxxx视频 | 午夜成人1000部免费视频 | 色欲久久久天天天综合网精品 | 中国女人内谢69xxxxxa片 | 精品 日韩 国产 欧美 视频 | 999久久久国产精品消防器材 | 牲交欧美兽交欧美 | 高清无码午夜福利视频 | 色狠狠av一区二区三区 | 黑人粗大猛烈进出高潮视频 | 美女黄网站人色视频免费国产 | 伊人久久大香线蕉午夜 | 亚洲一区二区三区偷拍女厕 | 久久亚洲精品中文字幕无男同 | 国产做国产爱免费视频 | 又色又爽又黄的美女裸体网站 | 久久五月精品中文字幕 | 亚洲毛片av日韩av无码 | 久久97精品久久久久久久不卡 | 国产精品福利视频导航 | 国语自产偷拍精品视频偷 | 中文精品无码中文字幕无码专区 | 无码人妻精品一区二区三区下载 | 国产激情精品一区二区三区 | 在线看片无码永久免费视频 | 国产sm调教视频在线观看 | 亚洲国产精品无码久久久久高潮 | 色一情一乱一伦一区二区三欧美 | 久久综合香蕉国产蜜臀av | 欧美zoozzooz性欧美 | 水蜜桃亚洲一二三四在线 | 成人一区二区免费视频 | 熟妇人妻中文av无码 | 精品乱码久久久久久久 | 亚洲日本va午夜在线电影 | 三级4级全黄60分钟 | 成年女人永久免费看片 | 色一情一乱一伦一视频免费看 | 久久国产精品_国产精品 | 一本久道高清无码视频 | 激情爆乳一区二区三区 | 久久久久亚洲精品男人的天堂 | 日日噜噜噜噜夜夜爽亚洲精品 | 精品欧洲av无码一区二区三区 | 一二三四在线观看免费视频 | 精品偷自拍另类在线观看 | 日韩精品无码一区二区中文字幕 | 精品国产青草久久久久福利 | 日本熟妇大屁股人妻 | 日韩精品a片一区二区三区妖精 | 少妇久久久久久人妻无码 | 国产成人无码专区 | 天天做天天爱天天爽综合网 | 99精品久久毛片a片 | 欧美色就是色 | 国产亚洲精品久久久久久久 | 中文字幕乱码人妻无码久久 | 99久久精品午夜一区二区 | 日本护士xxxxhd少妇 | 久久天天躁狠狠躁夜夜免费观看 | 野外少妇愉情中文字幕 | 水蜜桃亚洲一二三四在线 | 精品国产乱码久久久久乱码 | 国产偷国产偷精品高清尤物 | 人人妻人人澡人人爽欧美精品 | 女人色极品影院 | 欧美国产亚洲日韩在线二区 | 少妇人妻av毛片在线看 | 无码人妻精品一区二区三区不卡 | 无码人妻丰满熟妇区五十路百度 | 亚洲无人区午夜福利码高清完整版 | 人人妻在人人 | 国产精品久久精品三级 | 中文字幕乱码人妻二区三区 | 国产超级va在线观看视频 | 男人的天堂av网站 | 超碰97人人做人人爱少妇 | 国产av无码专区亚洲a∨毛片 | 国产精品久久久久无码av色戒 | √天堂中文官网8在线 | 免费男性肉肉影院 | 久久久中文久久久无码 | 国产97在线 | 亚洲 | 亚洲乱亚洲乱妇50p | 久久久亚洲欧洲日产国码αv | 中文字幕无码av波多野吉衣 | 99久久亚洲精品无码毛片 | 成人性做爰aaa片免费看不忠 | 激情人妻另类人妻伦 | 人人爽人人爽人人片av亚洲 | 妺妺窝人体色www在线小说 | 性欧美大战久久久久久久 | 亚洲色偷偷男人的天堂 | 久久综合激激的五月天 | 精品国产福利一区二区 | 99riav国产精品视频 | 麻豆av传媒蜜桃天美传媒 | 未满小14洗澡无码视频网站 | 久久精品国产日本波多野结衣 | 免费国产成人高清在线观看网站 | www国产亚洲精品久久久日本 | 日日碰狠狠躁久久躁蜜桃 | 蜜臀aⅴ国产精品久久久国产老师 | 性生交大片免费看l | 中文字幕无码日韩专区 | 婷婷丁香五月天综合东京热 | 丝袜美腿亚洲一区二区 | 久久99热只有频精品8 | 夜精品a片一区二区三区无码白浆 | 久久精品国产99精品亚洲 | 波多野结衣 黑人 | 欧美大屁股xxxxhd黑色 | 十八禁视频网站在线观看 | 无码国内精品人妻少妇 | 亚洲精品中文字幕久久久久 | 中文字幕 人妻熟女 | 无码av中文字幕免费放 | 国产激情一区二区三区 | 乱人伦中文视频在线观看 | 国产美女精品一区二区三区 | 人人爽人人爽人人片av亚洲 | 青青青爽视频在线观看 | 免费无码的av片在线观看 | 爽爽影院免费观看 | 夜精品a片一区二区三区无码白浆 | 99精品无人区乱码1区2区3区 | 人妻少妇精品无码专区二区 | 国产午夜手机精彩视频 | 日本精品久久久久中文字幕 | 俺去俺来也在线www色官网 | 亚洲a无码综合a国产av中文 | 色综合久久久无码网中文 | 国产精品久久久久影院嫩草 | 国产suv精品一区二区五 | 2019午夜福利不卡片在线 | 18无码粉嫩小泬无套在线观看 | 丰满肥臀大屁股熟妇激情视频 | 狠狠亚洲超碰狼人久久 | 麻豆人妻少妇精品无码专区 | 国产农村乱对白刺激视频 | 激情五月综合色婷婷一区二区 | 国产做国产爱免费视频 | 久久精品一区二区三区四区 | 丰满肥臀大屁股熟妇激情视频 | 日本xxxx色视频在线观看免费 | 在线精品国产一区二区三区 | 亚洲中文字幕无码中文字在线 | 精品久久综合1区2区3区激情 | 亚洲gv猛男gv无码男同 | 99精品国产综合久久久久五月天 | 成人性做爰aaa片免费看不忠 | 国产精品99久久精品爆乳 | 秋霞成人午夜鲁丝一区二区三区 | 亚欧洲精品在线视频免费观看 | 国产精品-区区久久久狼 | 久久久精品人妻久久影视 | 亚洲性无码av中文字幕 | 亚洲精品一区二区三区大桥未久 | 亚洲精品无码国产 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 国产亚洲欧美日韩亚洲中文色 | 免费无码的av片在线观看 | 人人妻人人澡人人爽人人精品浪潮 | 又色又爽又黄的美女裸体网站 | 大地资源网第二页免费观看 | 久久国产精品偷任你爽任你 | 乱人伦人妻中文字幕无码 | 无码国内精品人妻少妇 | 国产疯狂伦交大片 | 风流少妇按摩来高潮 | 日本www一道久久久免费榴莲 | 在线观看欧美一区二区三区 | 国产97色在线 | 免 | 中文字幕人妻丝袜二区 | 国产无遮挡又黄又爽又色 | 色婷婷香蕉在线一区二区 | 亚洲综合色区中文字幕 | 亚洲狠狠色丁香婷婷综合 | 久久久久久久女国产乱让韩 | 国产一区二区三区精品视频 | 亚洲欧美色中文字幕在线 | 久久成人a毛片免费观看网站 | 精品国产精品久久一区免费式 | 狠狠色丁香久久婷婷综合五月 | 国产精华av午夜在线观看 | 牛和人交xxxx欧美 | 国产三级久久久精品麻豆三级 | 亚洲天堂2017无码中文 | 久久午夜无码鲁丝片秋霞 | 国产特级毛片aaaaaa高潮流水 | 久在线观看福利视频 | 亚洲大尺度无码无码专区 | 国产精品亚洲专区无码不卡 | 鲁一鲁av2019在线 | 最近免费中文字幕中文高清百度 | 青草视频在线播放 | 国产精品成人av在线观看 | 最新国产麻豆aⅴ精品无码 | 国内精品人妻无码久久久影院蜜桃 | 亚洲国产成人av在线观看 | 久久精品人人做人人综合 | 欧美肥老太牲交大战 | 又大又紧又粉嫩18p少妇 | 内射巨臀欧美在线视频 | 少妇性荡欲午夜性开放视频剧场 | 18精品久久久无码午夜福利 | 亚洲中文字幕无码一久久区 | 鲁大师影院在线观看 | 亚洲午夜久久久影院 | 97精品国产97久久久久久免费 | 久久综合久久自在自线精品自 | 国产精品久久久久久亚洲毛片 | а天堂中文在线官网 | 国产欧美熟妇另类久久久 | 亚洲小说春色综合另类 | 欧美成人免费全部网站 | 1000部夫妻午夜免费 | 日韩人妻系列无码专区 | 丰腴饱满的极品熟妇 | 日韩 欧美 动漫 国产 制服 | 午夜精品一区二区三区在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 香港三级日本三级妇三级 | 国产午夜无码精品免费看 | 精品无人国产偷自产在线 | 国产成人一区二区三区别 | 亚洲色偷偷偷综合网 | 成人一区二区免费视频 | 精品国偷自产在线 | 人妻插b视频一区二区三区 | 精品少妇爆乳无码av无码专区 | 日本丰满熟妇videos | 国产av无码专区亚洲a∨毛片 | 精品国产一区二区三区四区 | 国产精品爱久久久久久久 | 特黄特色大片免费播放器图片 | 国内精品人妻无码久久久影院蜜桃 | 亚洲一区二区三区四区 | 欧美性黑人极品hd | 国产偷自视频区视频 | 少妇无码av无码专区在线观看 | 在线a亚洲视频播放在线观看 | 久久久久久亚洲精品a片成人 | 嫩b人妻精品一区二区三区 | 麻豆国产丝袜白领秘书在线观看 | 在线观看国产午夜福利片 | 无码人中文字幕 | 午夜精品一区二区三区的区别 | yw尤物av无码国产在线观看 | 中文字幕人成乱码熟女app | 国产极品视觉盛宴 | 国产特级毛片aaaaaaa高清 | 人人妻人人澡人人爽欧美一区 | 99精品久久毛片a片 | 亚洲国产精品毛片av不卡在线 | 日韩欧美群交p片內射中文 | 无码一区二区三区在线 | 人妻夜夜爽天天爽三区 | av无码久久久久不卡免费网站 | 久久人人爽人人爽人人片av高清 | 国产精品多人p群无码 |