相关疑难解决方法(0)

只克隆一个分支

我想知道如何克隆一个分支而不是克隆整个Git存储库.

git github

383
推荐指数
4
解决办法
34万
查看次数

管道在git别名?

我在功能分支上工作,这些功能分支有很烦人的名字,所以当我需要从我的本地功能分支推送到功能分支时,我常常会抓住当前的分支名称,如下所示:

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)

让我相信别名没有正确解析管道.我还有别的办法来实现所需的别名吗?

unix git bash

40
推荐指数
2
解决办法
5340
查看次数

删除/隐藏git分支而不删除提交历史记录

情况:

我有一个主要的回购,主要的开发分支和许多"实验"分支从它发芽(例如,exp1exp2).这些实验分支的目的是作为产生数值结果的实验​​的占位符.我记录了实验分支的分支名称(和提交ID),因此我可以返回到提交,以准确查看结果背后的代码和历史记录.

但是,现在,有很多实验分支,很难看到主树.所以,我正在重新思考将占位符保留在每组结果背后的代码(即每个实验)的策略.显然我可以在每个分支保存工作目录,但保留提交历史记录也会很好.

可能的方法:

解决此问题的一种方法是将实验分支移动到它们自己的独立存储库中,每个存储库都以dev分支的提交历史记录中的相应节点的子节点为根.这是我的意思的说明:

在此输入图像描述

点击此处查看大图版本(在imgur.com上).

因此,例如,对于分支exp1,我想将提交导出A->B->C到以提交为根的单独repo A.然后,我可以记录提交的哈希值,P1以便我知道exp1分支的后果.

题:

我怎样才能做到这一点?

更好的问题:

另一方面,我强烈怀疑有一个更好的策略来做我想做的事情 - 即,整理树进行目视检查,但将占位符保留在先前的分支中,以便我可以在需要时返回它们.那么,任何人都可以为此推荐一个策略吗?

git git-branch git-branch-sculpting

25
推荐指数
1
解决办法
9247
查看次数

标签 统计

git ×3

bash ×1

git-branch ×1

git-branch-sculpting ×1

github ×1

unix ×1