Git脚本:做到这一点的方法

时间:2016-02-09 18:28:43

标签: git version-control

我想编写Git脚本。只是创建一个Unix脚本是最好的方法吗?

#!/bin/bash

git push origin master &&
git checkout develop &&
git merge master &&
git push origin develop

我也被提议:

git config alias.pushdev '!git push origin master && git checkout develop && git merge master && git push origin develop'

这些方式的优点和缺点是什么?

也许Git别名更好,因为它不仅适用于Bash,还适用于Windows用户?

2 个答案:

答案 0 :(得分:1)

我更喜欢别名因为:

  • 易于维护
  • 适用于整个系统的单个命令
  • Bash-rc文件很容易被删除

其他人喜欢shell scrips,因为:

  • 项目特定说明
  • 更多控制
  • 便携性

shell脚本的问题是,如果你把私有存储库的东西放在那里,如果它是一个公共域,它可能变得毛茸茸,但这很少成为一个问题。通常,git命令在很大程度上是用户唯一的,而其他人不会使用与您相同的命令,因此它们更适合作为别名。

答案 1 :(得分:1)

对于您想要共享的功能,我通常更喜欢脚本而不是几个命令。

如果您使用bash,那么您应该具有高度的可移植性,因为Windows用户很可能会使用下载附带的“Git Bash”(MINGW32)实用程序,它提供了大多数unix实用程序,如grep,sed,awk等等。

如果您将脚本命名为“git-foo”,并在PATH上使用该命令与Git 无缝集成。

例如,可以使用以下命令调用名为“git-foo”的脚本:

git foo

这种方法的另一个好处是可以免费获得Git命令行完成等功能。因此,如果您键入“git fo”并按Enter键,Git将自动为您完成命令。