我在功能分支上工作,这些功能分支有很烦人的名字,所以当我需要从我的本地功能分支推送到功能分支时,我常常会抓住当前的分支名称,如下所示:
git branch | grep '*' | sed 's/* //' | xargs git push origin
Run Code Online (Sandbox Code Playgroud)
这很好用.我想把它变成别名,所以我在〜/ .gitconfig中做了这个:
[alias]
pushcur = branch | grep '*' | sed 's/* //' | xargs git push origin
Run Code Online (Sandbox Code Playgroud)
现在,当我运行时git pushcur,我收到以下错误:
usage: git branch [options] [-r | -a] [--merged | --no-merged]
Run Code Online (Sandbox Code Playgroud)
让我相信别名没有正确解析管道.我还有别的办法来实现所需的别名吗?
情况:
我有一个主要的回购,主要的开发分支和许多"实验"分支从它发芽(例如,exp1和exp2).这些实验分支的目的是作为产生数值结果的实验的占位符.我记录了实验分支的分支名称(和提交ID),因此我可以返回到提交,以准确查看结果背后的代码和历史记录.
但是,现在,有很多实验分支,很难看到主树.所以,我正在重新思考将占位符保留在每组结果背后的代码(即每个实验)的策略.显然我可以在每个分支保存工作目录,但保留提交历史记录也会很好.
可能的方法:
解决此问题的一种方法是将实验分支移动到它们自己的独立存储库中,每个存储库都以dev分支的提交历史记录中的相应节点的子节点为根.这是我的意思的说明:

点击此处查看大图版本(在imgur.com上).
因此,例如,对于分支exp1,我想将提交导出A->B->C到以提交为根的单独repo A.然后,我可以记录提交的哈希值,P1以便我知道exp1分支的后果.
题:
我怎样才能做到这一点?
更好的问题:
另一方面,我强烈怀疑有一个更好的策略来做我想做的事情 - 即,整理树进行目视检查,但将占位符保留在先前的分支中,以便我可以在需要时返回它们.那么,任何人都可以为此推荐一个策略吗?