文章目录
- 前言
- 本文介绍的内容:
- I 、合并
- 1.1.1 切换回master分支并merge
- 1.1.2 添加标签并推送至服务器
- 1.1.3 checkout develop 切换回开发分支
- 1.1 分支到主干
- 1,2 、 合并最新主干代码 到分支
- II、常用git脚本
- 2.1 初始化项目脚本
- 2.2 提交代码到远程仓库
前言
本文介绍的内容:
1、每次发布版本之后,需要打tag。具体步骤是 先把开发分支的代码合并到master,在打tag.
2、常用git脚本:针对GitHub的master 更名进行脚本调整(master 更名为main,例如push 需改为git push -u origin main)
I 、合并
1.1 分支到主干
1.1.1 切换回master分支并merge
#切换回master分支 git checkout master # merge --no-ff参数,表示禁用Fast forward;可以保存你之前的分支历史。能够更好的查看merge历史,以及branch 状态. #保证版本提交、分支结构清晰 git merge --no-ff develop #push git push
1.1.2 添加标签并推送至服务器
添加标签 在当前commit git tag -a v1.0 -m 'xxx' 推送 git push origin --tags
1.1.3 checkout develop 切换回开发分支
git checkout develop
1,2 、 合并最新主干代码 到分支
(feature) git checkout master (master) git pull (master) git checkout feature (feature) git merge master
II、常用git脚本
2.1 初始化项目脚本
- kngitinit
#!/bin/sh # dirname $0,取得当前执行的脚本文件的父目录 # cd `dirname $0`,进入这个目录(切换当前工作目录) # cd `dirname $0` #alias gitadd='cd `dirname $0` && git add . && git commit -m /!* && git push' #!/bin/bash # # NOTE: You need to `brew install git` on Mac # # by @kunnan # https://github.com/zhangkn/KNAlipayWalletTweakDemo # 在存在的项目中,创建git 仓库,并上传到远程仓库地址 # # usage: kngitinit SSHURL git@github.com:zhangkn/KNAlipayWalletTweakDemo.git usage() { echo "在存在的项目中,创建git 仓库,并上传到远程仓库地址" echo echo "Usage: $0 {SSHURL}" } if [ ! -n "$1" ] ;then echo "Invalid url $1" usage exit 1 fi # 清除旧有的仓库关系:取消本地目录下关联的远程库;常常用于copyxx项目的基础上,创建新项目的场景 git remote remove origin # 变量赋值不要有空格 var=$1 ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符 即删除 git@github.com:zhangkn/ 结果是 KNAlipayWalletTweakDemo.git var=${var##*/} #%/* 表示从右边开始,删除第一个 / 号及右边的字符 var=${var%.*} echo "# $var" >> README.md #echo "# " >> README.md cat /Users/devzkn/code/.gitignore >> .gitignore git init git add . git commit -m "first commit" git remote add origin $1 git push -u origin master exit 0 1
- 针对GitHub的脚本: 因为GitHub的master 更名为main,因此做了脚本修改
git push -u origin main
#!/bin/sh # dirname $0,取得当前执行的脚本文件的父目录 # cd `dirname $0`,进入这个目录(切换当前工作目录) # cd `dirname $0` #alias gitadd='cd `dirname $0` && git add . && git commit -m /!* && git push' #!/bin/bash # # NOTE: You need to `brew install git` on Mac # # by @kunnan # https://github.com/zhangkn/KNAlipayWalletTweakDemo # 在存在的项目中,创建git 仓库,并上传到远程仓库地址 # # usage: kngitinit SSHURL git@github.com:zhangkn/KNAlipayWalletTweakDemo.git usage() { echo "在存在的项目中,创建git 仓库,并上传到远程仓库地址" echo echo "Usage: $0 {SSHURL}" } if [ ! -n "$1" ] ;then echo "Invalid url $1" usage exit 1 fi # 清除旧有的仓库关系:取消本地目录下关联的远程库;常常用于copyxx项目的基础上,创建新项目的场景 git remote remove origin # 变量赋值不要有空格 var=$1 ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符 即删除 git@github.com:zhangkn/ 结果是 KNAlipayWalletTweakDemo.git var=${var##*/} #%/* 表示从右边开始,删除第一个 / 号及右边的字符 var=${var%.*} echo "# $var" >> README.md #echo "# " >> README.md cat /Users/devzkn/code/.gitignore >> .gitignore git init git add . git commit -m "first commit" git remote add origin $1 git push -u origin main exit 0 1
强制push:git push -u origin master -f
2.2 提交代码到远程仓库
#!/bin/sh git pull git status git add . # $1 和“$1” 的区别,在于,$1 返回的是一个char数组,“$1” 返回的是一个字符串 git commit -m "$1" git push exit 0% ➜ iOS14Test git:(master)