返回

借助小脚本,告别枯燥无味的 git 提交

前端

让我们面对现实吧,Git 提交可能是编程过程中最乏味的任务之一。但是,想象一下,如果你可以编写一个脚本来为你完成大部分繁琐的工作呢?

就是在这里,小脚本派上用场。通过编写一个简单的脚本,你可以自动化 Git 提交的整个过程,从检查是否有未提交的更改到推送它们到远程仓库。

脚本的工作原理

这个脚本遵循以下步骤:

  1. 判断你是否已安装 Git。
  2. 检查是否有未提交的更改。
  3. 查看已更改的文件。
  4. 将这些文件添加到本地仓库的追踪中。
  5. 提交本地仓库的更改。
  6. 将更改推送至远程仓库。

完整代码

#!/bin/bash

# 判断 Git 是否已安装
if ! command -v git &> /dev/null; then
  echo "Git not found. Please install Git before running this script."
  exit 1
fi

# 检查是否有未提交的更改
if git status | grep "nothing to commit" &> /dev/null; then
  echo "No uncommitted changes. Exiting."
  exit 0
fi

# 查看已更改的文件
echo "Uncommitted changes:"
git status | grep "modified:"

# 将更改的文件添加到本地仓库的追踪中
echo "Adding changes to staging area..."
git add .

# 提交本地仓库的更改
echo "Committing changes to local repository..."
git commit -m "Automated commit via script"

# 将更改推送至远程仓库
echo "Pushing changes to remote repository..."
git push

# 脚本结束
echo "Git commit and push complete."

使用该脚本

  1. 复制以上代码并将其保存为文件,例如 git-auto-commit.sh
  2. 使文件可执行:chmod +x git-auto-commit.sh
  3. 在需要自动提交 Git 更改的目录中运行该脚本:./git-auto-commit.sh

效果

运行脚本后,它将自动执行所有必要的步骤来提交和推送 Git 更改。

  • 如果没有未提交的更改,脚本将退出,并输出一条消息。
  • 如果有未提交的更改,脚本将添加这些更改到本地仓库的追踪中,提交更改,并将它们推送到远程仓库。

没变动

No uncommitted changes. Exiting.

有变动

Uncommitted changes:
modified: file1.txt
modified: file2.txt
Adding changes to staging area...
Committing changes to local repository...
[master 0f3417a] Automated commit via script
 1 file changed, 10 insertions(+)
Pushing changes to remote repository...
Git commit and push complete.

总结

使用小脚本来自动化 Git 提交是一个节省时间且高效的方法。通过编写一个简单的脚本,你可以摆脱 Git 提交过程中的繁琐工作,并专注于更重要的任务。

程序猿懒就对。