您的位置:首页 > 其它

git在实际工作中使用小结

2018-02-12 09:45 288 查看
在服务器搭建git的中央仓库

中央仓库要在git初始化命令携带参数
--bare


中央仓库应该总是创建成裸仓库,是属于一个储存设施,而不是一个开发环境

ssh ubuntu@192.168.10.223
mkdir ~/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 "keithl@163.com" # 同上


添加初始化文件并提交到服务器的中央仓库

git add README.md
git ci -m "initial project"

# 删除远程配置
git remote rm origin

git remote add  origin ssh://ubuntu@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


开发前期准备

设置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


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://ubuntu@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工作小结