学习一下shell脚本进行git代码分支合并提交

使用shell脚本进行本地代码暂存,然后分支代码合并提交

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

一直都是使用的eclipse+git小乌龟进行代码管理,但最近接触的项目是多个git仓库分别管理不同的业务模块。用eclipse进行代码拉取和合并总是很麻烦,而且作为本地的一套打版分支,并不需要eclipse去打开它,而用小乌龟一个一个合并更新又特别慢。于是自己写了一个shell,用命令行去完成,简单有效


上代码

#!/bin/bash
echo "开始拉取XXX分支"
cd D:/WORK-SP/XXX
popflag=0
callcurl=`git stash save "123"`
if [[ $callcurl = "No local changes to save" ]] 
then
	popflag=0
else
	popflag=1
fi
git pull
echo "拉取XXX完成"
echo "开始合并开发分支"
git fetch origin dev_XXX:dev_XXX
git merge dev_XXX
git commit -am 'merge dev_XXX'
git push origin sit_XXX
git branch -d dev_XXX
if [[ $popflag = 1 ]] 
then
	git stash pop stash@{0}
fi
echo "合并开发分支完成"

echo 按任意键继续
read -n 1
echo 继续运行

总结

1、判断是否本地有改动,如有改动先stash暂存起来;
2、拉取远程测试分支最新代码;
3、合并本地开发分支到测试分支;
4、添加提交到远程;
5、删除拉取下来的开发分支;
6、如有stash暂存,则弹出暂存。
7、保证窗口不关闭(read -n 1)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Git指令的Shell脚本,能够快速便捷地管理Git库,包括添加修改、提交修改、显示库状态、推送到远程库、从远程库更新到本地、版本恢复等操作。 使用方法: 1. 在Linux系统中,将本文件放在Git库目录下,利用Shell运行本文件; 2.在windows系统中,需下载安装与操作系统相对应的Git软件,并将本文件放在Git库目录下,双击即可运行。 运行示例: Please choose the first letter of options. [Add|Commit|Diff|Fetch|Exit|Help|Log|Push|User|Reset|Status]? h A: Add all changes to repository. C: Commit all changes to repository. D: Show differences between current version with HEAD->. E: Exit shell script. F: Fetch origin/master and merge. L: Show latest two-weeks logs of repository. P: Push commissions to origin/master. U: User command mode(Press ‘Enter’ to exit). R: Reset current version according version_id. S: Show status of repository. Please choose the first letter of options. [Add|Commit|Diff|Fetch|Exit|Help|Log|Push|User|Reset|Status]? s On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: Git.sh modified: PyNote/PyNote_2.md no changes added to commit (use "git add" and/or "git commit -a") Please choose the first letter of options. [Add|Commit|Diff|Fetch|Exit|Help|Log|Push|User|Reset|Status]? a On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use "git reset HEAD ..." to unstage) modified: Git.sh modified: PyNote/PyNote_2.md
### 回答1: 可以使用以下命令在shell脚本中拉取git代码: ``` #!/bin/bash git clone https://github.com/username/repo.git ``` 其中,`username`是你的GitHub用户名,`repo`是你要拉取的仓库名称。你也可以使用SSH协议来拉取代码,只需要将`https`替换为`git`即可。 如果你需要在脚本中指定代码的存储路径,可以在`git clone`命令后面加上路径: ``` #!/bin/bash git clone https://github.com/username/repo.git /path/to/destination ``` 其中,`/path/to/destination`是你要存储代码的路径。如果该路径不存在,Git会自动创建它。 ### 回答2: Shell脚本是Linux操作系统中常用的一种脚本语言,能够执行一系列的操作任务。其中之一就是拉取Git代码的任务。在执行该任务之前,我们需要明确一些基本概念: 1. Git是一个分布式版本控制系统,用于管理代码库的版本和代码的协同开发。 2. 拉取(pull)代码是指将服务器上的代码库更新到本地。 下面我们将介绍如何用Shell脚本拉取Git代码: 1. 确认Git环境和权限 在执行拉取代码脚本命令之前,需要确认Git环境已经正确安装并配置,并且拥有权限访问Git仓库。 2. 创建Shell脚本 打开终端,输入`vi pull_git.sh`,创建一个名为`pull_git.sh`的Shell脚本文件。 3. 开始脚本编写 在`pull_git.sh`文件中,输入以下Shell脚本命令: ``` #!/bin/sh git config --global credential.helper store git reset --hard git clean -xfd git pull ``` 4. 解释脚本命令 a. `#!/bin/sh` 表示使用Shell作为解释器。 b. `git config --global credential.helper store`表示将Git登录凭证保存在本地。 c. `git reset --hard`表示强制将本地仓库回滚到和远程仓库一致的状态。 d. `git clean -xfd`表示清除本地仓库中没有被Git版本控制的文件和目录。 e. `git pull`表示拉取最新的代码。 5. 保存文件 按“Esc”键退出编辑状态,输入“:wq”,保存并退出。 6. 对脚本添加执行权限 在终端上使用chmod命令为脚本添加执行权限: ``` chmod +x pull_git.sh ``` 7. 执行脚本 在终端输入`./pull_git.sh`,执行脚本,便能将服务器上的代码更新到本地了。 Shell脚本可以帮助我们快速方便地拉取Git代码,使得我们能够更加高效地进行协同开发。反复的输入命令不但浪费时间,也容易出现错误,因此使用Shell脚本无疑是一个不错的选择。 ### 回答3: 首先,我们需要了解什么是shell脚本git代码Shell脚本是一种文本文件,它包含了一系列可执行的命令。Git是一种开源的分布式版本控制系统,它能够管理您的代码。 在编写shell脚本拉取git代码之前,我们需要确保我们已经安装了Git。另外,我们需要确定我们要拉取的Git代码存储在哪个Git库中。通常情况下,我们需要提供Git库的URL和分支或标签名。 下面是一个简单的Shell脚本示例,可以拉取Git代码: ```shell #!/bin/bash # Git的URL和分支或标签名 git_url="https://github.com/user/repo.git" branch_or_tag="main" # 克隆代码到本地 git clone $git_url # 切换到指定分支或标签 cd repo && git checkout $branch_or_tag ``` 上面的脚本首先定义了Git的URL和分支或标签名,并使用`git clone`命令将代码克隆到本地。接下来,使用`cd`命令进入git仓库目录,并使用`git checkout`命令切换到指定的分支或标签。如果没有指定分支或标签,则默认为`master`分支。 当我们将上面的脚本保存为`pull_git.sh`文件并运行时,它将拉取指定的Git仓库并切换到指定的分支或标签。 此外,我们还可以在脚本中添加其他操作,例如检查是否已经在本地存在该Git仓库,以及在代码拉取完成后进行编译和部署等操作。 总之,使用Shell脚本拉取Git代码是一项非常常见的任务,可以大大提高我们的效率。我们只需要在脚本中定义好Git的URL和分支或标签名,然后就能够轻松地拉取代码进行其他操作。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值