發表文章

目前顯示的是有「版本控制教學」標籤的文章

GitLab上git日常指令操作

圖片
  由於時常忘記所以還是做一下這塊的筆記 之前的筆記文章是從自己建立repository切入 淺談版本控制示意圖原理_作法_悲觀鎖定VS樂觀鎖定VS分散式版本_傳統Delta儲存.vs.DAG儲存 https://coolmandiary.blogspot.com/2017/05/vs.html 電腦環境上配置 git  config   --global   user.name  "你的名字" git  config  --global  user.email  "你的電子郵件" 列出目前電腦上git配置設定參數 git config --list  針對user name印出 git config user.name 針對email印出 git config user.email 通常起手式 要馬自己建立repository 要馬Clone(複製)別人的 Repository 這次先以比較常會碰到的 clone他人repository的情境來看 GitLab上分支 首先要針對自己的branch clone下來的操作 git clone --branch <branchname> <remote-repo-url> 或 git clone -b <branchname> <remote-repo-url> 假如有四個分支 git clone --branch {分支名稱1} https://XXXXXXXX.git git clone --branch {分支名稱2} https://XXXXXXXX.git git clone --branch {分支名稱3} https://XXXXXXXX.git git clone --branch {分支名稱4} https://XXXXXXXX.git 比方我要取我的分支下來做後續程式開發 git clone --branch KuanYu https://XXXXXXXX.git 接下來的操作都是當前已經切換到在含有.git目錄下的cmd或者linux環境目錄下的操作 status 指令 查看(初始確認) 通常都會確認目前checkout或者clone下...

Git取消已經被追蹤的檔案_Web.config

圖片
  每次都會不小心在commit時候把web.config  給commit跟push進來 當中包含了一些機密性資料 發信依賴的gmail帳號密碼跟DB連線字串帳密等等 真的還滿頭疼的>~< 後來都要頻繁去更新密碼 趕緊記錄起來不要再犯這類錯誤 開啟git bash 然後cd到專案目錄 可以直接到Web.config所在目錄 下這行指令使其不再被版控追蹤 git rm --cached web.config 記得把.config補加進.ignore Ref: .gitignore not ignoring web.config https://stackoverflow.com/questions/22038600/gitignore-not-ignoring-web-config How to change folder with git bash? https://stackoverflow.com/questions/8961334/how-to-change-folder-with-git-bash

TFS日常使用筆記2_從AzureDevOps抓一個專案下來

圖片
 由於很久沒有抓過了所以有點小忘記 這裡在Little Note一下 開啟vs2019後 選複製存放庫 在本機新建一個空目錄 TFS側欄選擇 原始檔控制總管 針對目標專案repo去選擇對應的Local空目錄 按下確定->對應 選擇是 就會開始抓下來

TFS日常使用筆記

圖片
  在以前公司都是使用SVN控管 最近才剛接觸到TFS的版本控管工具 紀錄一下常用操作 專案右鍵 會有一些選項(跟SVN有點類似) 取得Server上最新版 檢視紀錄可以查看遷入歷程(你跟其他同事的) 快點兩下可以查看跟上一版比對的變更差異紀錄 於取最新版本跟遷入過程 若發生衝突(同時兩人、多人編輯同一份檔案)則可能看到類似這畫面 此時點擊【在合併工具中合併變更】 比對本機跟Server上的差異自行找同事或自己評估取捨做Merge (綠色代表有多的變更,黃色代表衝突區塊, 左右有勾勾可選擇以哪邊為主,在SVN則是透過右鍵選某側整體操作類似。最下方是合併的預覽) 基本上調整完只要沒有黃色即可,然後點接受合併 簽入 於Team Explorer中可以再次確認要簽入的檔案對不對 若有多則可排除 按下簽入按鈕即可完成上傳此次異動版本的程式至Server

淺談版本控制示意圖原理_作法_悲觀鎖定VS樂觀鎖定VS分散式版本_傳統Delta儲存.vs.DAG儲存

圖片
Version Control System (VCS) 當中有些專業術語時常看到 Respository(儲存庫) 主要用來保存程式代碼 方便散佈程式給Team 促進更有效率的團隊開發 可以記錄誰改變、在何時改變、因捨麼原因等等 主要放:  原始碼、範例設計檔、文件檔  ....etc 不須放:  暫存檔案、log檔案、build files等編譯後之產物 Branch(分支) 可因不同情境分開進行開發 Tag(標籤) 重要里程碑 , 便於日後參考 版本控制一般若沒有接觸過任何 類似工具的初心者 往往會發現   挖 我要做一個老師的作業 或作品 要一直不停在本機端  複製檔案 再去修改接下來後續功能 Local VCS 本示意圖 屬於 二次創作中的拼貼 修改來自於 Line貼圖: 替代役的日常 如有違反著作權請告知(學習分享用途) https://store.line.me/stickershop/product/1182021/zh-Hant 複製 新增一堆檔案  取名 v1...v2.....v3.....v3.1......v.3.2..... 這樣不僅會消耗空間還只限定於自己的個人電腦端上 無法達到  協同處理的工作模式 因此  ,   版本控制的重要性就被人們重視了 在早期 版本控制 是屬於  Lock型態 【1】悲觀鎖定(Pessimistic Locking)_ Lock型 當我是某一個職員要進行專案功能修改的時候 我就從中央版本資料庫把其中一個檔案checkout出來 同時 為了避免其他同事修改這個檔案 我也會把它lock起來(只有自己可以修改) 當我修改好 再把這個檔案 commit 上去 其他同事才能繼續修改 可避免檔案衝突 本示意圖 屬於 二次創作中的拼貼 修改來自於 Line貼圖: 替代役的日常 如有違反著作權請告知(學習分享用途) https://store.line.me/stickershop/product/1182021/zh-Hant 優點: 可避免衝突 ...