git在实际工作中使用小结

在服务器搭建git的中央仓库

  • 中央仓库要在git初始化命令携带参数--bare
  • 中央仓库应该总是创建成裸仓库,是属于一个储存设施,而不是一个开发环境
ssh ubuntu@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 "keithl@163.com" # 同上   
git config --global credential.helper store    # 设置 Git,保存用户名和密码
git config --global core.longpaths true # 解决 Git 中 'Filename too long' 的错误

git config --global core.quotepath off # 关闭终端显示非ASCII字符

## 使用代理服务加速访问
git config --global url."https://proxyserver/".insteadOf "https://github.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

开发前期准备

  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://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

# 删除分支
## 删除本地分支
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 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基于master迁移项目

目标:将gitlab.xxx.com迁移到gitlab.yyy.com
博客来源:https://blog.csdn.net/ruben95001/article/details/79298577
## 克隆项目
git clone gitlab.xxx.com:xxx.git
## 断开远程版本连接
git remote rm origin
## 查看项目配置
git config -l
## 新增新的远程版本连接
git remote add origin gitlab.yyy.com:yyy.git
## 提交代码
git add * 
git commit -m "迁移项目x to 项目y"
git push -u origin master
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疾风先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值