git merge用法

简介: git merge用法

文章目录

  • 前言

  • 本文介绍的内容:
  • 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) 

see also


目录
相关文章
|
2月前
|
开发工具 git
git merge和git rebase异同
git merge和git rebase异同
69 0
|
6月前
|
开发工具 git
【Git用法】git常用命令
【Git用法】git常用命令
38 0
|
1天前
|
人工智能 数据可视化 开发工具
Git log 进阶用法(含格式化、以及数据过滤)
Git log 进阶用法(含格式化、以及数据过滤)
|
2天前
|
开发工具 git
避免git产生Merge branch 'foo' into 'bar'提交
避免git产生Merge branch 'foo' into 'bar'提交
27 3
|
7天前
|
开发工具 git
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
17 0
|
7月前
|
Ubuntu Linux 开发工具
idea使用git提交代码报异常refusing to merge unrelated histories和unknown option `allow-unrelated-histories‘
idea使用git提交代码报异常refusing to merge unrelated histories和unknown option `allow-unrelated-histories‘
|
3月前
|
存储 数据可视化 前端开发
20个常用的 Git 指令用法
20个常用的 Git 指令用法
|
4月前
|
开发工具 git
百度搜索:蓝易云【git常用命令之Merge】
请注意,合并过程中可能会出现冲突,需要手动解决冲突后再进行提交。合并操作应谨慎执行,特别是在重要的项目中,应先进行代码审查或测试,确保合并不会引入错误或不稳定的代码。
172 4
|
4月前
|
开发工具 git
git 高级用法
git 高级用法
29 0
git 高级用法
|
4月前
|
开发工具 git 开发者
百度搜索:蓝易云【Git:Rebase和Merge之间的区别】
综上所述,Rebase和Merge在代码合并方面具有不同的特点和用途。根据具体的情况和个人偏好,选择适合的合并方式能够更好地管理和组织代码。
42 0