1. 程式人生 > >git在實際工作中使用小結

git在實際工作中使用小結

在伺服器搭建git的中央倉庫

  • 中央倉庫要在git初始化命令攜帶引數--bare
  • 中央倉庫應該總是建立成裸倉庫,是屬於一個儲存設施,而不是一個開發環境
ssh [email protected]192.168.10.223
mkdir ~/repo/shop.git && cd ~/repo/shop.git && git init --bare

在伺服器上建立一個存放專案的工作目錄並建立shop專案

mkdir -p ~/workdir/shop && cd ~/workdir/shop

在shop專案下搭建git的版本庫(用於開發環境)

git init && echo "init shop project" >> README.md

配置專案的使用者名稱稱和email

git --version 
git config --global user.name "keithl"   # name一般作為當前打包釋出和部署的使用者,不單獨設定給開發人員使用
git config --global user.email "[email protected]" # 同上   

新增初始化檔案並提交到伺服器的中央倉庫

git add README.md
git ci -m "initial project"
# 刪除遠端配置 git remote rm origin git remote add origin ssh://[email protected]192.168.10.223/home/ubuntu/repo/shop.git git push -u origin master # 同時新增develop分支 git branch develop && git checkout develop git push origin develop

開發前期準備

  1. 設定git的別名(可選)
git config --system alias.st status
git config --system alias.ci commit
git config --system alias.co checkout
git config --system alias.br branch 
git config --system alias.up rebase

or 

git config --global alias.st status
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.br branch 
git config --global alias.up rebase
  1. git的其他配置
git config --global color.ui true

# window下設定不自動轉換為CRLF換行,這樣避免在window上進行開發時候將CRLF的換行帶到linux伺服器上
git config --global core.autocrlf false

# 拒絕提交時包含混合換行符號的檔案,這樣在提交到git伺服器上的時候就可以知道有沒有檔案存在不同的換行符號
git config --global core.safecrlf true  

# 設定預設的文字編輯器(linux環境)
git config --global core.editor vim

# 檢視當前專案下的git的配置
git config --global --list

使用git進行協同開發

# 在開發環境下拉取專案程式碼
git clone ssh://[email protected]192.168.10.223/home/ubuntu/repo/shop.git ~/workdir
cd ~/workdir/shop
git co master && git pull && git co develop && git pull 

# 基於develop開啟一個功能分支,比如開發一個訂單功能
git br feature/module-orders
git checkout feature/module-orders

# coding
...

# 提交原生代碼

git add files ...
git ci -m "add feature/module-orders requirements"

# 將分支更新到遠端伺服器
git push origin feature/module-orders

訂單功能完成測試則需要合併到穩定的版本develop上去

# 在本地開發環境切換為develop並且保證程式碼最新
git co master && git pull && git co develop && git pull

# git br # 檢視當前分支是否處於develop

# 將功能合併到develop上
git merge feature/module-orders
git st      # 檢視git當前狀態
git diff    # 檢視專案變更檔案有哪些
git push origin develop

打包發版

# 在開發環境中使用一個固定帳號下的一個乾淨的目錄進行打包(屬於一個打包的專屬目錄)
# 基於develop分支進行release打包
git co master && git pull && git co develop && git pull
# 基於git flow打release包
# 如果是屬於專案第一次拉取,則執行
git flow init -d   # 僅需執行一次

# 根據專案版本號進行打包,比如現在是1.0.0版本
git flow release start 1.0.0

# 修改專案版本號以及日期,並新增變更日誌log
..

# 提交release版本進行迴歸測試
git add version_file changelog.md 
git ci -m "package version 1.0.0"
git flow release publish 1.0.0

# 測試OK之後,將release合併到develop和master上
git pull && git flow release finish 1.0.0
git push origin master && git push origin develop && git push --tags

相關推薦

git實際工作使用小結

在伺服器搭建git的中央倉庫 中央倉庫要在git初始化命令攜帶引數--bare 中央倉庫應該總是建立成裸倉庫,是屬於一個儲存設施,而不是一個開發環境 ssh [email 

git工作的使用

倉庫 first 生成 base 工作 當前 所有 分布式 origin git 分布式版本控制 用當前目錄作為Git倉庫,初始化 git init(此命令會生成一個.git的目錄)1.1 切換到master分支 Git checkout master1.2 拉取mast

記 Python 在實際工作的第一次應用

for split 今兒接到一個任務處理上線腳本,在明確了要求之後,尋思再三,為了以後能循環使用,這次得進行腳本化才好,於是就開始了我的拙劣碼風。 畫風其實是這樣的。 有一個文件裏面有些數據,需要遍歷出每行,然後分別取到每一行的第一列的值和第二列的值,然後打印出來,這樣循環不重復才能達到效果,於是我天

python的字符串編碼問題——4.unicode編解碼(以實際工作遇到的韓文編碼為例)

兼容 技術分享 range window下 byte 分享 pos osi eba 韓文unicode編解碼 問題是這樣,工作中遇到有韓文數據出現亂碼,說是unicode碼。 類似這樣: id name 323 52186863 149 6363

git工作的用法總結-環境安裝篇

使用git有很長一段時間了 ,平時用到的時候都是直接google,經常用到的一些也記錄在筆記中,但有時候筆記太多,實在是太亂了(其實是我太懶~ 哈?),找都要半天的時候還不如直接google,今天有空索性將以前的筆記整理一下發在部落格中,便於今後檢視,關於git的使用,這裡我打算分開寫,分為環境安裝篇和

git工作的用法總結-使用篇

上一篇介紹了git的環境安裝配置,本篇對git在工作中常用的用法進行總結,已滿足大部分的日常工作需求,對於其他的一些git命令用法在今後使用到時我也會更新上來,文中如有錯誤,歡迎大家指出來,謝謝~ 一、git本地基礎用法 1、建立程式碼倉庫 git init 2、加入所有目錄到倉庫 git a

認識Jenkins,瞭解它在實際工作的應用

轉自百度文庫文章,適當修改自:http://wenku.baidu.com/link?url=aexRXQ822IapdnQ2j3zaqfQj611d_XXihumaYx0qCOiEsGUkl0t7p5zrXSHuuQInz4xnSQLGDnaO6R76ADAYmV2rzX

觸發器:實際工作建立指令碼時用到的

現在有這樣的一個需求: 1. 我需要通過指令碼自動建立預約訂單,資料存在表CaseRecord中 2. 訂單號為一個固定格式自增長的:S16000001~S16009999 3. 這個訂單號的後四位是從一個表EntitySer

Lambda 在實際工作應用

最近的專案裡要用到上傳Excel,並且上傳的Excel檔案也很大,足足有27Mb,有大概27 w 的資料量,不過解析是放在前端了,雖然這樣使用者也需要比較久的時間用來上傳。但是短時間內,我能夠想到的就是這樣對於資料庫的壓力會比較大,所以我想到的就是對於資料庫的垂直拆分(但是技

實際工作ORA-01578: ORACLE data block corrupted遇到問題的解決方式

在實際專案生產環境中,外部的不可抗外部環境影響系統的正常執行往往很難控制,這樣我們就需要建立一套合理的解決方案備案庫來解決相應的問題, 今天我們就來說說資料庫檔案損壞的問題 ORA-01578: Oracle data block corrupted (file # 5, block #27059) SEL

論“精通”的定義及實際工作需要的能力

楔子:解決問題的能力:不能解決這個問題、很久才能解決這個問題、可以解決這個問題、快速解決這個問題。解決問題的結果:感覺能行、一般情況下能行、多情況下能行、任何情況下能行。循序漸進來定義聽過:哎,我聽過s

MySQL常見6個考題在實際工作的運用

題目一 MyISAM和InnoDB的區別,什麼時候選擇MyISAM 參考回答 InnoDB是目前MySQL主流版本(5.6、5.7、8.0)預設的儲存引擎,支援事務、外來鍵、行級鎖,對於併發條件下要求資料的一致性,適用於對資料準確性要求高的場景。 MyISAM只支援表級鎖、資料排列是按照插入順序,沒有做規則排

速度提高几百倍,記一次資料結構在實際工作的運用

這段時間寫了一堆原始碼解析,這篇文章想換換口味,跟大家分享一個我工作中遇到的案例。畢竟作為一個打工人,上班除了摸魚看原始碼外,磚還是要搬的。本文會分享一個使用恰當的資料結構來進行效能優化,從而大幅提高響應速度的故事,提高有幾百倍那麼多。 事情是這樣的,我現在供職一家外企,我們有一個給外國人用的線下賣貨的AP

工作常用的Git命令

git命令本篇文章記錄的是博主在現實工作中常用的Git命令.......註:如果想了解更全面的Git命令請咨詢度娘或者官方文檔克隆項目git clone -b 要更新的分支名稱(如:master) http://用戶名:密碼@ 192.168.66.66/root/xxx.git說明: 1.克隆前先

bash實戰篇-數組在工作實際應用(測試環境發布腳本)

數組 腳本 shell 數組在之前已經用過介紹,下面介紹其在工作中的一個實際功用出現的工作背景: 公司測試環境的tomcat的webapps下有3個項目,如果按通常的發布腳本,需要為每一個項目單獨寫一個發布腳本,我感覺太過麻煩,就想能否用一個腳本搞定這3個項目,最開始是在腳本裏面定義三個變量

初識LVS(三)——DR工作模式實際環境的應用

lvs dr 背景介紹LVS的NAT模型所有的請求和響應報文會經過director,此時director就成為了性能瓶頸,而為了解決這個問題LVS也默認采用的是DR模型(下圖),請求報文(藍色)向director發出請求,響應報文(紅色)由RS服務器直接返還給用戶不經由director,通常RS的網關

工作常用Git指令操作

line 文件路徑 res 系列 wid AR 探討 diff 輕量 常用Git指令總結   前陣子有幾天好不順,可謂是喝水都嗆著,更何況被Git給嗆著了,還不輕,哈哈。所以打算總結一下自己在工作使用到Git相關的東西以及和大家探討使用GIt的心得體會。於是,關於Git的

git實際工作經驗總結

lease git 穩定 也不能 好的 終究 增加 提交 變化 分支工作的一個較佳的實踐, 即git工作的最佳實踐 從最初的svn到後來的git,上來給我的感覺就是git更方便, 可以在本地進行版本的提交,回退. 後來對hash有所了解, 知道了git的每個版本其實都是一

git上傳的排除的配置文件, git實際的操作代碼;

consola code 上傳 lose round play check ear order git上傳中的排除的配置文件: git實際的操作 在主目錄建立.gitignore文件並輸入以下保存: *.class #package file

工作比較常用的git命令

命令 remote 本地 一次 名稱 authorize onf 工作區 -a git config core.filemode false git忽略文件的權限 git - 查看遠程倉庫信息git remote show origin git拉取遠程分支