java mysql約束與設計
阿新 • • 發佈:2021-01-05
版本控制器
|
|
git
簡介
|
|
git與svn比較
git的工作流程
版本庫間的通訊
git分支管理
git使用
流程(核心總結)
|
|
安裝
|
|
基礎命令
將已有的資料夾 - 初始化為git倉庫
|
|
在指定目錄下 - 初始化git倉庫
|
|
在倉庫目錄終端下 - 設定全域性使用者
|
|
在倉庫目錄終端下 - 設定區域性使用者
|
|
檢視倉庫狀態
|
|
工作區操作
|
|
撤銷工作區操作:改、刪(瞭解)
|
|
工作區內容提交到暫存區
|
|
撤銷暫存區提交:add的逆運算(很少使用)
|
|
提交暫存區內容到版本庫
|
|
撤銷版本庫提交:commit的逆運算
|
|
過濾檔案
|
|
多分支開發
分支操作
|
|
遠端git開發
兩種本地與遠端倉庫同步
|
|
remote源操作
|
|
採用ssh協議連線遠端源
建立電腦的公鑰私鑰
|
|
提交原生代碼到遠端倉庫
|
|
如何成為其他碼雲專案的開發者
|
|
如何成為公司自建git伺服器的開發者
|
|
協同開發
|
|
衝突解決
|
|
線上分支合併
遠端倉庫回滾
|
|
昨日回顧 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