在服务器搭建git的*仓库
- *仓库要在git初始化命令携带参数
--bare
- *仓库应该总是创建成裸仓库,是属于一个储存设施,而不是一个开发环境
ssh ubuntu@192.168.10.223
mkdir ~/repo/ && cd ~/repo/ && git init --bare
在服务器上创建一个存放项目的工作目录并创建shop项目
mkdir -p ~/workdir/shop && cd ~/workdir/shop
在shop项目下搭建git的版本库(用于开发环境)
git init && echo "init shop project" >>
配置项目的用户名称和email
git --version
git config --global "keithl" # name一般作为当前打包发布和部署的用户,不单独设置给开发人员使用
git config --global "keithl@" # 同上
git config --global store # 设置 Git,保存用户名和密码
git config --global true # 解决 Git 中 'Filename too long' 的错误
git config --global off # 关闭终端显示非ASCII字符
## 使用代理服务加速访问
git config --global url."https://proxyserver/".insteadOf "/"
添加初始化文件并提交到服务器的*仓库
git add
git ci -m "initial project"
# 删除远程配置
git remote rm origin
git remote add origin ssh://ubuntu@192.168.10.223/home/ubuntu/repo/
git push -u origin master
# 同时添加develop分支
git branch develop && git checkout develop
git push origin develop
开发前期准备
- 设置git的别名(可选)
git config --system status
git config --system commit
git config --system checkout
git config --system branch
git config --system rebase
or
git config --global status
git config --global commit
git config --global checkout
git config --global branch
git config --global rebase
- git的其他配置
git config --global true
# window下设置不自动转换为CRLF换行,这样避免在window上进行开发时候将CRLF的换行带到linux服务器上
git config --global false
# 拒绝提交时包含混合换行符号的文件,这样在提交到git服务器上的时候就可以知道有没有文件存在不同的换行符号
git config --global true
# 设置默认的文本编辑器(linux环境)
git config --global vim
# 查看当前项目下的git的配置
git config --global --list
使用git进行协同开发
# 在开发环境下拉取项目代码
git clone ssh://ubuntu@192.168.10.223/home/ubuntu/repo/ ~/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
# 删除分支
## 删除本地分支
git branch -D branchName
## 删除远程分支
git push origin :branchName
打包发版
# 在开发环境中使用一个固定帐号下的一个干净的目录进行打包(属于一个打包的专属目录)
# 基于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
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基于master迁移项目
目标:将迁移到
博客来源:/ruben95001/article/details/79298577
## 克隆项目
git clone :
## 断开远程版本连接
git remote rm origin
## 查看项目配置
git config -l
## 新增新的远程版本连接
git remote add origin :
## 提交代码
git add *
git commit -m "迁移项目x to 项目y"
git push -u origin master