使用这个简单的 Bash 脚本自动化您的 Git 工作流程 GenAI LIVE!| 2025 年 6 月 4 日

2025-06-08

使用这个简单的 Bash 脚本自动化你的 Git 工作流程

GenAI LIVE! | 2025年6月4日

此脚本的 GitHub 存储库 ->脚本

嘿,各位程序员们!🚀

每次推送修改时,你是否发现自己都在重复执行相同的 git 命令?我知道,这确实有点烦人。但你猜怎么着?Bash 脚本来帮你!如果你读到这些代码时,还在想着重复的推送和提交,我完全理解你的感受。简而言之,我们都经历过这种情况。所以,我决定,为什么不自己写一个脚本呢?从那时起,我编写了一个简洁的小脚本,帮你完成这些繁重的工作。现在就开始吧!

这个脚本有什么用?🤔

该脚本旨在自动执行三个核心 git 操作:

  1. 切换到您指定的分支。
  2. 检查是否有任何需要提交的更改。
  3. 使用您提供的消息提交这些更改并推送到指定的分支。

听起来很有趣,对吧?

解析代码

#!/bin/bash
Enter fullscreen mode Exit fullscreen mode

搞定!这告诉系统我们的脚本应该使用 Bash shell 运行。

现在,脚本首先检查您是否已提供所需的输入:分支名称和提交消息。

if [ "$#" -ne 2 ]; then
  echo "Usage: $0 <branch_name> <commit_message>"
  exit 1
fi
Enter fullscreen mode Exit fullscreen mode

魔法$#给了我们你传入的参数的数量。如果不是两个,脚本会提醒你如何使用它。

branch_name="$1"
commit_message="$2"
Enter fullscreen mode Exit fullscreen mode

这里我们只是将参数存储在命名良好的变量中,以便以后让事情变得更清楚。

现在,让我们定义辅助函数:

1.check_changes():这将检查是否有任何需要提交的更改。如果没有,它会通知您并结束脚本。

check_changes() {
  if [ -z "$(git status --porcelain)" ]; then
    echo "No changes to commit."
    exit 0
  fi
}
Enter fullscreen mode Exit fullscreen mode

2.commit_and_push():它的作用正如其名。首先,它会暂存所有更改。然后,它会根据你提供的消息进行提交。最后,它会推送到分支。

commit_and_push() {
  git add .
  git commit -m "$commit_message"
  git push origin "$branch_name"
}
Enter fullscreen mode Exit fullscreen mode

好了,重头戏来了!🎪

该脚本首先检查您是否位于 Git 存储库内。

if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
  echo "Error: Current directory is not a Git repository."
  exit 1
fi
Enter fullscreen mode Exit fullscreen mode

如果是,它会切换到您提到的分支:

git checkout "$branch_name"
Enter fullscreen mode Exit fullscreen mode

然后,我们的好朋友check_changes检查是否有任何......变化。

最后,commit_and_push开始发挥作用,提交并推动变更。

如何使用这个脚本?🚀

克隆给定的 Github 仓库并导航到脚本目录。使用方法如下:

  1. 使其可执行:chmod +x git-auto.sh
  2. 运行脚本:./git_commit_and_push.sh <your-branch-name> "Your commit message over here"

瞧!麻烦少了,代码写得更多了!🎉

总结

这个脚本巧妙地节省了一些按键,并自动化了重复的 git 操作。您可以随意扩展或调整它,以更好地适应您的工作流程。祝您编码愉快,愿自动化的力量与您同在!🤓

PS:在关键项目上使用新脚本之前,请务必记住在安全的环境中进行备份和测试!

鏂囩珷鏉ユ簮锛�https://dev.to/devrx/automate-your-git-workflow-with-this-simple-bash-script-5cm5
PREV
使用 GitHub Actions 和 ArgoCD 将应用程序部署到 EKS:最佳实践和技术
NEXT
使用 CSS 的简单加载动画 CSS