git同时在两个分支上工作

我有一个分支很多的项目。

我想同时在几个分支上工作而不用git checkout来回切换。

有什么办法可以做到这一点,除了复制整个资源库的其他地方?

Git 2.5+(Q2 2015)将支持这个function:一旦你克隆了一个git repo,你将能够使用新的命令git worktree add <path> [<branch>]检出不同path中的多个分支。

这取代了旧的脚本contrib/workdir/git-new-workdir ,使用更强大的机制,这些“链接”的工作树实际上被logging在主repo新的$GIT_DIR/worktrees文件夹中(以便在任何操作系统上工作,包括Windows )。

同样,一旦你克隆了一个repo(在像/path/to/myrepo这样的文件夹中),你可以在不同的独立path( /path/to/br1/path/to/br2 )那些工作树连接到主要的回购历史logging(不再需要使用--git-dir选项)

请参阅“ 使用Git的多个工作目录? ”。

看看$ GIT_SRC_DIR / contrib / workdir / git-new-workdir 。

一个简单的脚本来创build一个工作目录,使用符号链接指向一个现有的存储库。 这允许在不同的工作目录中有不同的分支,但都来自同一个存储库。

这是不可能的,只需创build两个独立的版本库。

我build议我的小脚本http://www.redhotchilipython.com/en_posts/2013-02-01-clone-per-feature.html

它会做git克隆和replaceconfiguration(“看”在原来的回购,所以拉/推将进入“主”回购)基本上,但它很简单,服务于实际引导的抽象。

就像我们的朋友VonC在五个月前所说的那样,现在从2.5.x版本开始有了一个新function来完成这项工作。 git worktree 。

不是Git只支持在存储库目录中有一个存储库数据的工作副本。

如果要使用两个不同的工作副本提交/提交到同一个存储库,可以创build一个存储库并将其克隆到两个工作副本

无论什么时候完成,只需推送到“主”裸仓库。

一些提示:

man git-clone

git clone --bare