【问题标题】:How to git fetch & reset automatically whenever a bash script is executed每当执行 bash 脚本时,如何自动 git fetch 和重置
【发布时间】:2019-10-15 09:06:23
【问题描述】:

所以问题是要在我的设备中执行的 bash 脚本会在 github 上不断更新。

所以每次 github 上都有 bash 脚本的更新......

我必须运行 - git fetch origin; git reset --hard @{u} 每次在终端中手动确保我的本地脚本与 github 上的脚本完全一致。 (是的,bash 脚本是从 git repo 克隆的)

我想知道如何以这样的方式实现这 2 个 git 命令,即每当执行 bash 脚本时,它应该首先检查我的本地 bash 脚本是否与 github 相同,如果不是,则脚本应该结束并自行更新

【问题讨论】:

  • 使用git pull 更新您的脚本
  • @Sami 这与我如何更新脚本无关。它是关于我每次执行 bash 脚本时如何自动 git fetch 和重置
  • 对不起,我没听懂。所以我猜你可以做的是创建一个启动器脚本,它将执行git reset --hard script 并启动你的脚本。这就是你想要的吗?
  • @Sami 是的,只要我的本地 bash 脚本自动更新,这种方法就足够了。虽然我从来没有制作任何这样的启动器脚本。告诉我如何在启动器脚本中包含我的 git fetch 和 git reset 命令,然后添加对我的主脚本的引用

标签: linux bash git shell github


【解决方案1】:

如有必要,更新脚本并重新执行:

#!/bin/sh
git fetch
if test `git rev-parse @{upstream}` != `git rev-parse @`; then
        git reset --hard @{upstream}
        exec "$0" "$@"
fi

【讨论】:

    猜你喜欢
    • 2019-08-17
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    相关资源
    最近更新 更多