首页 > 其他分享 >编写git脚本.sh

编写git脚本.sh

时间:2024-05-20 12:10:47浏览次数:17  
标签:origin git 本地 sh branch 编写 远程 分支

举例:更改连接方式后需要将远程分支与本地分支同步:

验证远程 URL: 首先,确保你已经正确更改了远程仓库的 URL:

git remote -v

获取所有远程分支: 使用 git fetch 命令获取所有远程分支的最新信息:

git fetch --all

查看所有本地和远程分支: 列出所有本地和远程分支:

git branch -a

合并本地和远程分支: 对于每个本地分支,执行以下步骤:

  切换到本地分支git checkout <local-branch>

  合并远程分支git pull origin <remote-branch>

  这里 <local-branch> 是本地分支的名字,<remote-branch> 是对应的远程分支的名字。如果本地分支名与远程分支名相同,可以简化为:

  git pull origin

 

假设你有三个分支:maindevelopfeature-xyz,并且所有这些分支都在远程仓库 origin 中有对应的分支。

# 获取所有远程分支
git fetch --all

# 合并 main 分支
git checkout main
git pull origin main

# 合并 develop 分支
git checkout develop
git pull origin develop

# 合并 feature-xyz 分支
git checkout feature-xyz
git pull origin feature-xyz

 

自动化脚本

如果你有很多分支,可以编写一个简单的脚本来自动化这个过程:

#!/bin/bash

# 获取所有远程分支
git fetch --all

# 获取所有本地分支
branches=$(git branch | sed 's/*//')

# 循环处理每个本地分支
for branch in $branches
do
  branch=$(echo $branch | xargs)  # 去除空白字符
  echo "Merging branch: $branch"
  git checkout $branch
  git pull origin $branch
done

# 切换回默认分支(例如 main)
git checkout main

保存这个脚本为 update_branches.sh,然后运行:

bash update_branches.sh

注意事项

  • 冲突解决:合并过程中可能会遇到冲突。你需要手动解决这些冲突,然后使用 git addgit commit 来完成合并。
  • 确保工作干净:在执行这些操作之前,确保你当前的工作目录是干净的(没有未提交的更改),以免导致意外的数据丢失。

通过这些步骤和技巧,你可以轻松地将本地分支与远程分支全部合并,保持代码库的最新状态。

 

标签:origin,git,本地,sh,branch,编写,远程,分支
From: https://www.cnblogs.com/Simoon/p/18201581

相关文章

  • git切换连接方式(ssh-https)
      要将git仓库的ssh链接切换为https链接,可以按照以下步骤操作: 1.打开终端,并进入到本地的git仓库目录中。 2.使用以下命令查看当前git仓库的远程链接:gitremote-v3.使用以下命令移除当前的ssh远程链接:gitremoteremoveorigin4.使用以下命令添加https远程链......
  • 如何解决git代码冲突
    1,右键------statshchanges2.具体操作步骤 <<<<<<<HEAD你的更改=======合并源的更改>>>>>>>commit-hash 保留 <<<<<<< 和 ======= 之间的内容表示保留你的更改,保留 ======= 和 >>>>>>> 之间的内容表示接受合并源的更改。最后,确保你......
  • PowerShell脚本,可以用于自动加入或退出域:BAT批处理脚本,可以用于自动加入或退出域:
    PowerShell中创建网页版的自动加入或退出域脚本,您可以使用PowerShellWebAccess(PWA)功能。PWA允许您在Web浏览器中通过安全的HTTPS连接远程运行PowerShell命令,并可与Windows身份验证一起使用。以下是一个示例脚本,可用于创建PWA网页版的自动加入或退出域:powershellCopyCode......
  • 保姆教程系列:Git 实用命令详解
    !!!是的没错,胖友们,保姆教程系列又更新了!!!@目录前言1.将本地项目推送到远程仓库2.IdeaGit回退到某个历史版本3.修改项目关联远程地址方法4.Git修改分支的名称5.Git删除分支6.master分支代码复制到新的分支7.Git迁移项目到其他代码仓库,且保留分支与提交记录8.Git相关命令操作......
  • 油猴脚本编写
    1.注释的功能解析//==UserScript==//@nametestFileName文件名称//@namespacehttp://tampermonkey.net/命名空间大概是用于保证脚本的唯一性//@version2024-05-14//@descriptiontrytotakeovertheworld!//@authorYou//@match......
  • lodash已死?radash库方法介绍及源码解析 —— 函数柯里化 + Number篇
    写在前面tips:点赞+收藏=学会!主页有更多其他篇章的方法,欢迎访问查看。本篇我们继续介绍radash中函数柯里化和Number相关的方法使用和源码解析。函数柯里化chain:创建一个函数链并依次执行使用说明功能描述:用于创建一个函数链,该链依次执行一系列函数,每个函数的输出......
  • 线程安全使用 HashMap 的四种技巧
    这篇文章,我们聊聊线程安全使用HashMap的四种技巧。1方法内部:每个线程使用单独的HashMap如下图,tomcat接收到到请求后,依次调用控制器Controller、服务层Service、数据库访问层的相关方法。每次访问服务层方法serviceMethod时,都会在方法体内部创建一个单独的HashMap,......
  • ConcurrentHashmap的具体实现
    ConcurrentHashmap是java并发编程中的一部分,提供了一种线程安全的哈希表实现。它允许多个线程并发读写,提高了并发性能。1、数据结构底层数据结构是一个数组,数组中的每个元素是一个Node(或是链表或是树)。每个Node节点包含键值对以及指向下一个节点的引用。2、分段锁机制采用了一......
  • Vue3+nanoid编写字符串ID生成器
    Vue3+nanoid编写字符串ID生成器中文介绍:https://github.com/ai/nanoid/blob/HEAD/README.zh-CN.md一个小巧、安全、URL友好、唯一的JavaScript字符串ID生成器。“一个惊人的无意义的完美主义水平,这简直让人无法不敬佩。”小巧. 116字节(经过压缩和Brotli处理)。没有依......
  • CF547D Mike and Fish
    CF547DMikeandFish这也能图论的一道题。思路对于\(x\)坐标相同的点,我们两两配对连边,多余的点不管。对于\(y\)坐标相同的点,我们两两配对连边,多余的点不管。这样就得到了若干个连通图,对这些连通图跑二分图染色即可得到答案。证明:由于是二分图染色,且横竖两两配对,由于连......