我有一个有很多分支机构的项目。
我想同时在几个分支上工作,而不是与git checkout
来回切换。
除了将整个存储库复制到其他地方之外,我还有什么方法可以做到这一点吗?
发布于 2015-05-12 17:29:50
Git 2.5+ (Q2 2015)支持此功能!
如果您有git存储库cool-app
,cd to root (cd cool-app
),请运行git worktree add ../cool-app-feature-A feature/A
。这将在它自己的新专用目录cool-app-feature-A
中签出分支feature/A
。
这用更健壮的机制取代了旧的脚本contrib/workdir/git-new-workdir
,这些“链接”的工作树实际上被记录在主repo新的$GIT_DIR/worktrees
文件夹中(这样就可以在任何操作系统上工作,包括Windows)。
同样,一旦您克隆了存储库(在类似/path/to/myrepo
的文件夹中),您可以为不同独立路径(/path/to/br1
、/path/to/br2
)中的不同分支添加工作树,同时将这些工作树链接到主存储库历史记录(不再需要使用--git-dir
选项)
更多信息请访问"“。
一旦你创建了一个worktree, you can move or remove it (使用Git 2.17+,Q2 2018)。
发布于 2010-01-13 02:50:16
看看$GIT_SRC_DIR/contrib/workdir/git-new-workdir吧。
根据来自此存储库端口的commit logs:
一个简单的脚本,创建一个使用符号链接指向现有存储库的工作目录。这允许在不同的工作目录中有不同的分支,但所有分支都来自同一存储库。
发布于 2013-02-04 17:48:36
我推荐我的小脚本http://www.redhotchilipython.com/en_posts/2013-02-01-clone-per-feature.html
基本上,它将执行git克隆并替换config (以“查看”原始repo,因此pull/push将进入"main“repo),但它足够简单,可以从实际引导中提供抽象。
https://stackoverflow.com/questions/2048470
复制相似问题