1. 程式人生 > 其它 >SpringMVC的攔截器實現方式

SpringMVC的攔截器實現方式

版本控制器

1
2
3
4
5
6
7
8
9
10
"""
完成 協同開發 專案,幫助程式設計師整合程式碼
i)幫助開發者合併開發的程式碼
ii)如果出現衝突程式碼的合併,會提示後提交合並程式碼的開發者,讓其解決衝突

軟體:SVN 、 GIT(都是同一個人的個人專案)
github、gitee(兩個採用git版本控制器管理程式碼的公共平臺)

git:叢集化、多分支
"""

git

簡介

1
2
3
4
"""
什麼是git:版本控制器 - 控制的物件是開發的專案程式碼
程式碼開發時間軸:需求1 => 版本庫1 ==> 需求2 => 版本庫2 => 版本庫3(版本庫1) => 版本庫4(版本庫2)

"""

git與svn比較

git的工作流程

版本庫間的通訊

git分支管理

git使用

流程(核心總結)

1
2
3
4
5
"""
1)有紅色資訊(工作區有內容),就執行 add
2)全綠資訊(內容全部在暫存區),才執行 commit
3)只有被版本庫控制的程式碼,才能被監聽,所以可以回滾到任何一個版本
"""

安裝

1
2
# 1.下載對應版本:https://git-scm.com/download
# 2.安裝git:在選取安裝路徑的下一步選取 Use a TrueType font in all console windows 選項

基礎命令

將已有的資料夾 - 初始化為git倉庫
1
2
3
4
"""
>: cd 目標資料夾內部
>: git init
"""
在指定目錄下 - 初始化git倉庫
1
2
3
4
"""
>: cd 目標目錄
>: git init 倉庫名
"""
在倉庫目錄終端下 - 設定全域性使用者
1
2
3
4
5
6
"""
>: git config --global user.name '使用者名稱'
>: git config --global user.email '使用者郵箱'

注:在全域性檔案 C:\Users\使用者資料夾\.gitconfig新建使用者資訊,在所有倉庫下都可以使用

"""
在倉庫目錄終端下 - 設定區域性使用者
1
2
3
4
5
6
7
8
9
"""
>: git config user.name '使用者名稱'
-- 使用者名稱
>: git config user.email '使用者郵箱'
-- 使用者郵箱

注:在當前倉庫下的config新建使用者資訊,只能在當前倉庫下使用
注:一個倉庫有區域性使用者,優先使用區域性使用者,沒有配置再找全域性使用者
"""
檢視倉庫狀態
1
2
3
4
5
6
7
"""
# 當倉庫中有檔案增加、刪除、修改,都可以在倉庫狀態中檢視
>: git status
-- 檢視倉庫狀態
>: git status -s
-- 檢視倉庫狀態的簡約顯示
"""
工作區操作
1
2
# 通過任何方式完成的檔案刪與改
# 空資料夾不會被git記錄
撤銷工作區操作:改、刪(瞭解)
1
2
3
4
5
6
"""
>: git checkout .
-- 撤銷所有暫存區的提交
>: git checkout 檔名
-- 撤銷某一檔案的暫存區提交
"""
工作區內容提交到暫存區
1
2
3
4
5
6
"""
>: git add .
-- 新增專案中所有檔案
>: git add 檔名
-- 新增指定檔案
"""
撤銷暫存區提交:add的逆運算(很少使用)
1
2
3
4
5
6
7
8
"""
>: git reset HEAD .
-- 撤銷所有暫存區的提交
>: git reset 檔名
-- 撤銷某一檔案的暫存區提交
>: git reset .
-- 撤銷所有暫存區的提交
"""
提交暫存區內容到版本庫
1
>: git commit -m "版本描述資訊"
撤銷版本庫提交:commit的逆運算
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
"""
回滾暫存區已經提交到版本庫的操作:
檢視歷史版本:
>: git log
>: git reflog
檢視時間點之前|之後的日誌:
>: git log --after 2018-6-1
>: git log --before 2018-6-1
>: git reflog --after 2018-6-1
>: git reflog --before 2018-6-1
檢視指定開發者日誌
>: git log --author author_name
>: git reflog --author author_name
回滾到指定版本:
回滾到上一個版本:
>: git reset --hard HEAD^
>: git reset --hard HEAD~
回滾到上三個版本:
>: git reset --hard HEAD^^^
>: git reset --hard HEAD~3
回滾到指定版本號的版本:
>: git reset --hard 版本號 (重點)
>: eg: git reset --hard 35cb292
"""

過濾檔案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# .gitignore 檔案
# 1)在倉庫根目錄下建立該檔案
# 2)檔案與資料夾均可以被過濾
# 3)檔案過濾語法

""" 過濾檔案內容
檔案或資料夾名:代表所有目錄下的同名檔案或資料夾都被過濾
/檔案或資料夾名:代表倉庫根目錄下的檔案或資料夾被過濾

eg:
a.txt:專案中所有a.txt檔案和資料夾都會被過濾
/a.txt:專案中只有根目錄下a.txt檔案和資料夾會被過濾
/b/a.txt:專案中只有根目錄下的b資料夾下的a.txt檔案和資料夾會被過濾
*x*:名字中有一個x的都會被過濾(*代表0~n個任意字元)
空資料夾不會被提交,空包會被提交,包可以被提交(包中有一個init空檔案)
"""

多分支開發

分支操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
"""
1.建立分支
>: git branch 分支名

2.檢視分支
>: git branch

3.切換分支
>: git checkout 分支名

4.建立並切換到分支
>: git checkout -b 分支名

5.刪除分支
>: git branch -d 分支名

6.檢視遠端分支
>: git branch -a

7.合併分支
>: git merge 分支名
把dev分支合併到master分支:切換到master分支,執行合併dev分支的命令
"""

"""
1)多個開發者都是在一個分支上進行開發,不出意外,該分支一定叫dev(協同開發)
2)如果出現一個特殊任務(敏感任務),與正常業務關係不緊密,甚至可能大的影響正常的dev分支開發,可以依賴dev開一個子分支,進行開發,開發完畢後合併到dev分支,再刪除該分支即可
3)所有的開發任務都可以在dev分支上進行(除非公司硬性要求不能直接在dev分支開發,只能在dev子分支開發,測試通過後才能合併給dev)
"""

遠端git開發

兩種本地與遠端倉庫同步

1
2
3
4
5
6
7
"""
1)你作為專案倉庫初始化人員:
線上要建立空倉庫 => 本地初始化好倉庫 => 建立remote連結(remote add) => 提交本地倉庫到遠端(push)

2)你作為專案後期開發人員:
遠端專案倉庫已經建立成功 => 複製遠端倉庫到本地(clone) => 進入倉庫就可以進行接下來的開發
"""

remote源操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
"""
1)檢視倉庫已配置的遠端源
>: git remote
>: git remote -v

2)檢視remote命令幫助文件
>: git remote -h

3)刪除遠端源
>: git remote remove 源名
eg: git remote remove origin

4)新增遠端源
>: git remote add 源名 源地址
>: git remote add orgin [email protected]:doctor_owen/luffyapi.git

5)提交程式碼到遠端源
>: git push 原始碼 分支名

6)克隆遠端源
>: git clone 遠端源地址
"""

"""
1)通過克隆方式連線遠端源,預設遠端源名就叫origin;所以主動新增遠端源來連線遠端倉庫,原始碼也用origin
2)本地一個倉庫只需要和遠端一個源進行同步,所以只需要連線一個遠端源,如果還想把原生代碼同步給第三個平臺,那麼可以通過主動新增遠端源來連線第三個平臺的遠端倉庫,此時的原始碼就不能再叫origin了,比如online都可以
3)pull和push都可以提供選擇不同的原始碼,和不同的遠端倉庫互動
"""

採用ssh協議連線遠端源

建立電腦的公鑰私鑰
1
2
3
4
5
6
7
官網:https://gitee.com/help/articles/4181#article-header0

本機命令,生成公鑰:ssh-keygen -t rsa -C "*@*.com"
郵箱可以任意填寫
本機命令,檢視公鑰:cat ~/.ssh/id_rsa.pub

碼雲線上新增公鑰:專案倉庫 => 管理 => 部署公鑰管理 => 新增公鑰 => 添加個人公鑰
提交原生代碼到遠端倉庫
1
命令:git push origin master

如何成為其他碼雲專案的開發者
1
2
3
4
5
"""
1)生成自己電腦的公鑰,配置到自己的碼雲個人公鑰中
2)把自己的碼雲使用者名稱提供給別人,別人新增你成為專案開發者
3)自己確認新增,成為開發者,克隆開發專案,進行開發
"""
如何成為公司自建git伺服器的開發者
1
2
3
4
5
"""
1)生成自己電腦的公鑰(公鑰生成一次就可以了),把它提交給專案管理者
2)專案管理者新增你公鑰,加入開發者,提供給你專案克隆地址
3)克隆開發專案,進行開發
"""

協同開發

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"""
1)作為開發者,第一次同步專案(前臺已經是專案開發者了)
>: git clone 專案地址

2)保證自己本地有dev分支,且與遠端倉庫版本同步(沒有就自己新建)

3)本地開發的程式碼,必須add、commit到本地版本庫後,才和遠端倉庫進行互動

4)互動順序:必須 先拉(pull)後提(push)

5)必須切換到要互動的分支,在與遠端同名的分支進行互動,如本地dev與遠端dev互動
>: git checkout dev
>: git add .
>: git commit -m '本次提交的資訊提示'
>: git pull origin dev
>: git push origin dev
"""

衝突解決

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""
1)在遠端倉庫和本地倉庫版本不一致時,拉取遠端倉庫版本到本地時,兩個版本進入融合,可能會出現版本衝突

2)定位衝突檔案衝突程式碼,線下溝通衝突程式碼,整合程式碼解決衝突

3)將解決衝突後的程式碼重新提交到本地版本庫

4)再拉去遠端倉庫,直到沒有衝突,提交本地版本庫到遠端
"""

"""
<<<<<<< HEAD # 衝突的開始
# 自己的程式碼
======= # 分割線
# 別人的程式碼
>>>>>>> b63c408abd05b87fc492d40523240561999dba50 # 衝突的結束(版本)
"""

"""
1)刪除衝突相關標識:衝突的開始、分割線、衝突的結束(版本)
2)線下溝通,根據實際需求完成程式碼整合
3)測試整合後的程式碼

"""

"""
出現衝突的前提:
1)不同開發者同時操作了同一檔案
2)並且在相同行寫了程式碼
強調:有業務交際時,版本合併不一定會出現衝突相關的標識,但是可能會帶著程式碼執行崩潰,所有理論上每一次版本合併,都要測試合併後的所有功能(及其之少的情況)
"""

線上分支合併

遠端倉庫回滾

1
2
3
4
5
6
7
8
9
10
11
"""
用dev分支舉例
1)本地切換到遠端要回滾的分支對應的本地分支
git checkout dev

2)回滾本地分支
git reset --hard 版本號

3)本地版本強行提交給伺服器
git push origin dev -f
"""

昨日回顧

    1 vue專案開發,單頁面開發,新建一個元件,每個元件有三部分:templage,script,style
    2 頁面元件,小元件   xx.html---->yy.html
        -頁面元件----》頁面元件
    3 vue-router實現頁面元件跳轉
        -配置:(路徑跟元件對應關係)
            {
                path: '/home',
                name: 'Home',
                component: Home
            }
        -js控制:this.$router.push('/home')
        -hmtl模板中:
              <router-link to="/actual-course">
                    <button class="btn btn-danger">點我跳轉</button>
                </router-link>
    4 js中的匯入和匯出
        -import 別名 from 'axios'
        -import 別名 from '../components/Banner'
        -import settings from '@/assets/js/settings'
        -Vue.prototype.$settings = settings;
        -this.$settings.base_url
        
        -匯出
        export default {
            base_url: 'http://127.0.0.1:8000',
        }
    5 主頁元件---》路由是  /
        使用了頭部元件,輪播元件,尾部元件
    6 頭部元件
    7 尾部元件
    8 輪播圖元件
    
    8 跨域問題處理
        -同源策略?
        -跨域問題是什麼?
        -前端處理(使用代理)
        -後端處理,使用CORS(跨域資源共享),在響應頭中加東西
        -簡單請求,非簡單請求
    9 處理跨域我們採用的方式
        -自己寫(寫一箇中間件) flask中
        -django-cors-headers:只能用在django中
        -前端使用代理
        vue.config.js檔案中
            module.exports = {
            devServer: {
                proxy: {
                    '/ajax': {
                        target: 'https://m.maoyan.com/',
                        changeOrigin: true
                    },
                }
            }
        };
     
    

今日內容

1 路飛專案使用xadmin

    1 公司專案,有前臺(主站),後臺(xadmin)
    2  使用步驟
        
        
    #1 安裝:luffy虛擬環境下
    pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2
    #2 註冊app:dev.py
    INSTALLED_APPS = [
        # ...
        # xadmin主體模組
        'xadmin',
        # 渲染表格模組
        'crispy_forms',
        # 為模型通過版本控制,可以回滾資料
        'reversion',
    ]
    xadmin:需要自己的資料庫模型類,完成資料庫遷移
    python manage.py makemigrations
    python manage.py migrate
    設定主路由替換掉admin:主urls.py
    
    #3  xadmin的依賴
    import xadmin
    xadmin.autodiscover()
    # xversion模組自動註冊需要版本控制的 Model
    from xadmin.plugins import xversion
    xversion.register_models()
    urlpatterns = [
        # ...
        path(r'xadmin/', xadmin.site.urls),
    ]
    建立超級使用者:大luffyapi路徑終端
    
    #4  在專案根目錄下的終端
    python manage.py createsuperuser
    #5  賬號密碼設定:admin | Admin123
    完成xadmin全域性配置:新建home/adminx.py
    
    #6  home/adminx.py
    # xadmin全域性配置
    import xadmin
    from xadmin import views
    
    class GlobalSettings(object):
        """xadmin的全域性配置"""
        site_title = "路飛學城"  # 設定站點標題
        site_footer = "路飛學城有限公司"  # 設定站點的頁尾
        menu_style = "accordion"  # 設定選單摺疊
    xadmin.site.register(views.CommAdminView, GlobalSettings)
    
    



2 首頁輪播圖介面

    # 1 輪播圖表
    
    # 2 檢視類(輪播圖數量4,通過配置實現)
    # 3 前端對接
    
    
    
    # 4 後續:介面快取



3 git的基本使用

    1 版本管理工具(git,svn)
    2 安裝客戶端

3.1 git的工作流程

    1 工作區:工作的目錄,資料夾下,放一些檔案,檔案中寫內容
    2 暫存區:工作區的更改,提交到暫存區(在暫存區臨時儲存)
    3 版本庫:本地檔案,內容變更記錄
    
    
    4 git相關操作(一堆命令)
        -git init     # 初始化倉庫,把當前路徑,被git管理起來
        -git init a   # 創建出一個資料夾,改資料夾被git管理(.git隱藏檔案)
        
        -git status   # 檢視狀態
            -紅色:更改沒有被提交到暫存區
            -綠色:更改被提交到暫存區,但是沒有被提交到版本庫
        # 提交到暫存區
            -git add a.txt # 把a.txt提交到暫存區  (git add .)
            -git add .   # 當前路徑下所有更改,提交到暫存區
            -git reset . # 把提交到暫存區的,拉回到工作區(很少用)
        # 從暫存區提交到版本庫(不能從工作區直接提交到版本庫)
            -要往版本庫提變更,需要先配置使用者
            # 全域性配置(使用者家路徑記錄:.gitconfig)
            git config --global user.email "[email protected]"
              git config --global user.name "lqz"
            # 區域性配置 (當前路徑下配置檔案中記錄:.git-->config)
            git config  user.email "[email protected]"
              git config  user.name "egon"
            # 從暫存區提交到版本庫(必須加註釋,不加註釋提交不上去)
            git commi -m '註釋註釋一定要加,並且有意義'
            
            # 檢視log
            git log  # 看到版本庫中誰提交了什麼,寫了什麼註釋,在什麼時間,每個版本都有一個id號
            git reflog # 精簡(詳細)展示
            #檢視時間點之前|之後的日誌:
            >: git log --after 2018-6-1
            >: git log --before 2018-6-1
            >: git reflog --after 2018-6-1
            >: git reflog --before 2018-6-1
            #檢視指定開發者日誌
            >: git log --author author_name
            >: git reflog --author author_name
            # 回滾(回滾到版本管理的最新的位置)
            git checkout .





4 git 分支

    1 分支檢視:git branch  # 綠色表示當前所在分支
    2 分支建立:git branch dev # 建立分支的程式碼,基於master創建出來的,程式碼現在跟master一樣
        -在那個分支上建立分支,目前新分支和所在分支程式碼一樣
    3 分支刪除:git branch -d dev
    4 切換分支 :git checkout dev
    5 分支合併
        git merge 分支名
        把dev分支合併到master分支:切換到master分支,執行合併dev分支的命令
        
    6 建立並切換到某個分支(兩部並作一步)
        git checkout -b 分支名







以後git提交程式碼出現衝突就兩種情況

    1 分支合併
    2 在同一條分支上,你和你的同事改了同一個檔案的同一段程式碼





# 昨日回顧

```python
1 首頁輪播圖介面
    -寫model類,寫了一個基類
    -abstract = True  # 不在資料庫生成
    -寫一個基類,model類繼承寫的這個基類,有一些方法
    -model類例項化得到的物件,也會有這個基類的方法,給物件擴展出一些功能
    -介面
        -繼承哪個檢視類,
        -跟資料庫打交道:GenericAPIView,
        -自動生成路由:ViewSetMixin
        -不想寫get方法:ListModelMixin
        -(GenericViewSet,ListModelMixin):配置兩行,自動生成路由
        -路由配置
            path('', include(router.urls))
        -通過配置控制輪播圖數量
        -自定義使用者配置檔案
    -前端
        -this.$axios.get().then(item=>{})
2 xadmin的使用
    -pip install git地址
    -如果你是後期才修改的auth_user表,要刪除資料遷移記錄,如果用了xadmin,也需要把xadmin的資料遷移記錄刪除
    
3 git
    -git分散式管理,如果不想跟別人協同開發,只是自己做版本管理,不需要連線遠端
    -工作區,暫存區,版本庫
    -紅色    綠色    沒有顏色
    -git init  (資料夾)#******
    -git status       # *****檢視狀態
    -git add 檔名字  # *****提交到暫存區
    -git reset .      # 從暫存區拉回工作區
    -git commit -m '註釋' #***** 把暫存區提交到版本庫,加註釋
    -git checkout .   # 回滾
       -git reset --hard 版本號   # 回到哪個版本,前提是有很多版本了
    -git log        # *****檢視日誌
    -git reflog     # *****檢視精簡日誌
4 分支
    -新建:git branch dev
    -刪除分支:git branch -d dev  # 不在當前分支上才能刪除
    -檢視分支:git branch
    -切換分支:git checkout dev   # 切換到dev分支
    -新建並切換到分支:git checkout -b pro
    -合併分支:git merge dev      # 把dev合併到當前所在分支
```

# 今日內容

## 0 過濾檔案

```python
1 https://bitbucket.org/  ,github,gitee,gitlab
2 專案中加過濾檔案,加了以後,被排除的檔案或資料夾不被git管理
3 在專案路徑下新建 .gitignore 檔案(寫過濾規則)
    - #表示註釋
    -忽略某個資料夾(寫資料夾名字)    node_modules
    -忽略某個檔案(直接寫檔名)     .DS_Store
    -忽略以npm-debug.log開頭的所有檔案  npm-debug.log* 
    -忽略所有後綴名為.sln的檔案        *.sln
    
4 自己寫.gitignore
    -在windows平臺寫成 .gitignore.   其它平臺不用
    -.gitignore檔案需要被git管理
    
5 自己寫的
xxx   # 忽略這個資料夾
tt.txt # 忽略這個檔案
/aaa/aa.txt # 忽略這個資料夾下的檔案
*.json  # 忽略以json結尾的所有檔案
```

## 1 從遠端拉專案

```python
1 使用pycharm拉取

```

<img src=".\路飛-day05.assets\image-20201225102427553.png" alt="image-20201225102427553" style="zoom: 67%;" />

![image-20201225102553085](C:\Users\oldboy\Desktop\路飛-day05.assets\image-20201225102553085.png)

## 1 遠端倉庫

```python
1 github gitee gitlab
2 建立倉庫,單分支,不使用readme初始化倉庫

3 操作步驟
cd luffyapi
git init
git add .
git commit -m "first commit"
git remote add origin https://gitee.com/liuqingzheng/luffyapi_s15.git
git push origin master
# 輸入使用者名稱密碼,提交上去

4 其它命令
"""
1)檢視倉庫已配置的遠端源
>: git remote
>: git remote -v

2)檢視remote命令幫助文件
>: git remote -h

3)刪除遠端源
>: git remote remove 源名
eg: git remote remove origin

4)新增遠端源
>: git remote add 源名 源地址
>: git remote add orgin [email protected]:doctor_owen/luffyapi.git

5)提交程式碼到遠端源
>: git push 原始碼 分支名

6)克隆遠端源
>: git clone 遠端源地址
"""



```

#### 1.1 連線遠端倉庫的兩種情況

```python
1 首次提交程式碼連線
    cd luffyapi
    git init
    git add .
    git commit -m "first commit"
    git remote add origin https://gitee.com/liuqingzheng/luffyapi_s15.git
    git push origin master
2 作為參與開發者,操作遠端
    git clone https://gitee.com/liuqingzheng/luffyapi_s15.git
    # 使用pycharmn開啟專案(直接使用pycharm拉取專案)
    
3 開發了,更改檔案
    -張三和李四協同開發
    -假設張三提交了程式碼
    -李四在提交之前需要先(以後你們每次提交程式碼之前,都需要先拉取:拉取可能會出衝突)
        git pull origin master  # 拉取,拉到最新版本
        
```



## 2 衝突出現原因及解決

```python
1 多個人在同一個分支上修改了同一段程式碼出現衝突
```

```python
<<<<<<< HEAD
我的程式碼
=======
對方的程式碼
>>>>>>> 04f13e850419b39610b81cb13eb8be91c6b3386b
```





# 上節回顧

```python
1 版本管理工具
2 git init   # 當前目錄被管理起來
3 git log    # 檢視版本管理日誌
4 git status  # 綠色,紅色
5 git add 檔名 # 把檔案提交到暫存區
6 git commit -m '註釋' # 把暫存區內容提交到版本庫
7 git reset --hard 版本號  # 回退到某個版本

8 遠端倉庫(github,gitee(國內),gitlab(公司自己搭建),bitbucket)

9 git remote  # 檢視遠端倉庫
10 git remote add https://gitee.com/liuqingzheng/luffyapi.git

```

```python
1 你是倉庫建立者
    cd luffyapi
    git init
    git add .
    git commit -m "first commit"
    git remote add origin https://gitee.com/liuqingzheng/aaa.git
    git push  origin master
    
2 你是協同開發者(本地有程式碼)
    git clone https://gitee.com/liuqingzheng/luffyapi.git
    程式碼copy過來,新建iginore,處理忽略檔案
    git add .
    git commit -m '註釋'
    git remote add origin https://gitee.com/liuqingzheng/luffyapi.git
    git push origin master
    
3 你是協同開發,你本地沒有程式碼
    git clone https://gitee.com/liuqingzheng/luffyapi.git
    開發
    git add .
    git commit -m '註釋'
    git push origin master
    
```





# 今日內容

## 0 ssh連線和https連線

![image-20201228151420451](.\路飛day06.assets\image-20201228151420451.png)

```python
0 連線遠端倉庫的使用者名稱密碼
1 通常公司裡會使用ssh連線遠端倉庫
    -https://gitee.com/help/articles/4181
2 生成公鑰私鑰,把公鑰配置到gitee上,以後就不需要輸入使用者名稱密碼了,走的是ssh
    ssh-keygen -t rsa -C "[email protected]"  
    在家目錄,生成一個 .ssh資料夾
    git remote remove origin
    git remote add origin [email protected]:liuqingzheng/luffyapi.git
    git push origin master
3 非對稱加密(公鑰和私鑰),支付寶支付

4 給我一個公鑰,你生成一個公鑰,給你領導,你領導把你的公鑰配置在gitee(gitlab)
    它會給你一個專案地址:[email protected]:liuqingzheng/luffyapi.git
     git clone [email protected]:liuqingzheng/luffyapi.git
     寫程式碼,提交
```



## 1 gitlab

```python
1 公司運維人員搭建的(開源的git遠端倉庫)
2 使用起來跟gitee沒有一點區別
```



## 1 git遠端分支合併

```python
1 建立遠端分支
    -直接在遠端建立:同步到本地
        -提交到遠端的dev分支
        -本地要切到dev,修改
        -git  push origin dev

    -本地建立,上傳到遠端
    
2 在遠端讓dev和master合併(你的領導幹)
    在線上點點點
3 變基 rebase

4 本地合併完,再提交到遠端(你的領導幹)
    切到master分支,git merge dev
    git push origin master
```

![image-20201228163025590](.\路飛day06.assets\image-20201228163025590.png)

## 2 git 衝突出現原因及解決

```python
1 你跟你的同事,開發同一個分支,改了相同的程式碼
    他先提交,你拉取,出現衝突<<<<<<< HEAD
    <<<<<<< HEAD
       你的程式碼
    =======
      你同事衝突的程式碼
    >>>>>>> origin/dev
   如果你們改的是一個函式,你需要跟同事商量,使用你的程式碼
    
2 分支合併出衝突
    -master分支寫的是 
        def add2():
            print('add2')
            print('天王蓋地大虎')    
     -dev分支寫的是
           def add2():
            print('add2')
            print('天王蓋地小虎')    
     -線上分支合併,不能自動合併
    -線下合併完,解決完衝突,再提交
    
3 強制提交(慎重)
git push origin master -f

```





## 3 首頁登入註冊vue頁面

```python
1 登入,註冊,是新開單獨的頁面
2 絕對定位
3 vue的子傳父
```





## 4 登入註冊功能介面分析

```python
1 傳送手機簡訊驗證碼介面(阿里,騰訊..)
2 註冊介面(手機號和驗證碼)
3 密碼登入(多方式登入:手機號+密碼,郵箱+密碼,使用者名稱+密碼)
4 手機號+驗證碼登入
5 通過手機號判斷是否註冊過的介面
```











```python
https://gitee.com/liuqingzheng/luffycity.git
https://gitee.com/liuqingzheng/luffyapi.git
```
View Code