首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在git中,是否有一种简单的方法将不相关的分支引入到存储库中?

在git中,是否有一种简单的方法将不相关的分支引入到存储库中?
EN

Stack Overflow用户
提问于 2018-06-21 00:46:44
回答 2查看 0关注 0票数 0

今天我帮助一个朋友解决了一个Git问题,我不得不介绍一个分支,它需要完全独立于master分支。这个分支的内容和在master分支,但它们将被合并到master稍后再分支。

分支在本质上是遵循某种约定的提交的标签,如何将提交绑定到文件树,或者(可选地)绑定到父提交。我们使用git的管道创建了对现有存储库的无父提交:

所以我们把索引里的所有文件都处理掉了.

代码语言:txt
复制
$ git rm -rf .

.从tarball中提取目录和文件,将它们添加到索引中.

代码语言:txt
复制
$ git add .

.创建了一个树对象.

代码语言:txt
复制
$ git write-tree

(git-write-tree告诉我们创建的树对象的sha1sum。)

然后,我们提交了树,而没有指定父提交.

代码语言:txt
复制
$ echo "Imported project foo" | git commit-tree $TREE

(git-commit-tree告诉我们创建的提交对象的sha1sum。)

.创建了一个指向我们新创建的提交的新分支。

代码语言:txt
复制
$ git update-ref refs/heads/other-branch $COMMIT

最后,我们回到了master分支机构继续在那里工作。

代码语言:txt
复制
$ git checkout -f master

这似乎是按计划进行的。但这显然不是我推荐给刚开始使用git的人的那种程序,温和地说。是否有一种更容易的方法来创建一个与存储库中迄今发生的一切完全无关的新分支?

EN

Stack Overflow用户

发布于 2018-06-21 09:50:16

虽然解决方案git symbolic-ref如果删除索引有效,则可能是概念上更干净创建储存库

代码语言:txt
复制
$ cd /path/to/unrelated
$ git init
[edit and add files]
$ git add .
$ git commit -m "Initial commit of unrelated"
[master (root-commit) 2a665f6] Initial commit of unrelated
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 foo

那就去取

代码语言:txt
复制
$ cd /path/to/repo
$ git fetch /path/to/unrelated master:unrelated-branch
warning: no common commits
remote: Counting objects: 3, done.
Unpacking objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
From /path/to/unrelated
 * [new branch]      master     -> unrelated-branch
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档