前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git merge用法

git merge用法

作者头像
公众号iOS逆向
发布2021-01-18 16:12:11
1.8K0
发布2021-01-18 16:12:11
举报
文章被收录于专栏:iOS逆向与安全

文章目录

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

代码语言:javascript
复制
#切换回master分支

git checkout master

# merge  --no-ff参数,表示禁用Fast forward;可以保存你之前的分支历史。能够更好的查看merge历史,以及branch 状态.
#保证版本提交、分支结构清晰
git merge --no-ff  develop

#push
git push

1.1.2 添加标签并推送至服务器

代码语言:javascript
复制
添加标签 在当前commit
git tag -a v1.0 -m 'xxx' 

推送
git push origin --tags

1.1.3 checkout develop 切换回开发分支

代码语言:javascript
复制
git checkout develop

1,2 、 合并最新主干代码 到分支

代码语言:javascript
复制
(feature) git checkout master 
(master) git pull 
(master) git checkout feature 
(feature) git merge master

II、常用git脚本

2.1 初始化项目脚本

  • kngitinit
代码语言:javascript
复制
#!/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
  • 针对GitHub的脚本: 因为GitHub的master 更名为main,因此做了脚本修改git push -u origin main
代码语言:javascript
复制
#!/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

强制push:git push -u origin master -f

2.2 提交代码到远程仓库

代码语言:javascript
复制
#!/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

原文:https://kunnan.blog.csdn.net/article/details/104572619

------

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS逆向 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 本文介绍的内容:
    • I 、合并
      • 1.1 分支到主干
        • 1.1.1 切换回master分支并merge
        • 1.1.2 添加标签并推送至服务器
        • 1.1.3 checkout develop 切换回开发分支
      • 1,2 、 合并最新主干代码 到分支
      • II、常用git脚本
        • 2.1 初始化项目脚本
          • 2.2 提交代码到远程仓库
          • see also
          相关产品与服务
          云服务器
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档