2012-04-12 81 views
1

我需要在Git中频繁地执行几个“两步”或“三步”命令,这要求我也指定一个分支名称作为参数 - 例如:Git(在Windows上使用msysgit) - “复合”命令

git checkout (branch name) 
git pull origin (branch name) 

或类似的东西。我想“自动化”到一个别名 - 但一个简单的Git别名不会 - 对吗?

那么我该如何在Bash shell脚本中做到这一点?我很熟悉MS-DOS/Windows批处理脚本 - 但我是Bash的新手。

所有的Bash别名的例子有多个Git命令我目前看到的似乎是不是有任何参数......但我在各分支之间跳来跳去,所以我肯定需要定义其中分支检查和从中央回购更新...

任何帮助吗?任何博客文章或* nix新手会理解的文章?任何指针都非常受欢迎!

回答

2

您可以定义一个别名是这样的:

[alias] 
    chepull = !git checkout $1 && git pull origin 

你可以这样做:

git chepull branch_name 

注:$1是故意不git pull origin规定,但预期应该工作。

+0

嗯....所以如果我签出'SomeExperimentalBranch' - 我也不必在'git pull origin'中定义那个分支,因为它是从中央repo更新的? – 2012-04-12 12:22:50

+0

@marc_s - 我的意思是,上面的别名会做'git pull origin SomeExperimentalBranch' – manojlds 2012-04-12 12:32:36

+0

工程就像一个魅力 - 非常感谢你! – 2012-04-17 04:49:01