我如何开始一个干净的分支,没有祖先,然后逐步提交文件?(How can I start a clea

2019-06-26 07:04发布

我有一个PHP框架版本与GIT和我计划数(激烈)的改变其核心。

我想要做的是,开始在一个新的分支新的核心工作,但由于这一变化,可能需要对一些文件系统的重组也一样,我想尽可能干净启动这个新的分支。

我想清洁分支,只包括与核心文件。 正如我在整理我的变化,我想从框架到工作目录逐一添加其余模块,但保留如果我做主人的改变合并的能力。

我怎样才能做到这一点?

Answer 1:

分行没有祖先

您希望--orphan标志。 例如:

git checkout master
git checkout --orphan foo

# Unstage all the files in your working tree.
git rm --cached $(git ls-files)

将创建一个名为foo没有祖先新的分支,但它将保留从任何分支你就当你调用命令(在这种情况下, 分支)当前的工作树。 然后,您可以修改你的工作树,以适应,然后做一个承诺重新开始该分支的历史。

文件的增量分期

执行增量补充,你的历史,使用git add到舞台只是你想要为每个提交的文件。 git的相加(1)手册页有这样说的选择性添加文件:

Fileglobs(如* .c)中可以给出添加所有匹配的文件。 也可以给出一个领先的目录名称(例如目录添加目录/文件1和dir /文件2)添加的所有目录中的文件,递归。



Answer 2:

如果必须用一个旧版本的git的工作:

 mkdir some_dir
 cd some_dir
 git init
 echo a>some_file; git add some_file; git commit -m 'initial commit'
 cd ..
 git fetch ./some_dir/ master:new_independent_branch
 rm -rf some_dir


Answer 3:

你可以做的是简单地转移到一个新的分支, git co -b my_new_branch ,清理你的代码,让你需要的东西,最后提交。 这犯,先上my_new_branch ,那么将是一个干净的一个。



文章来源: How can I start a clean branch with no ancestry, then commit files progressively?
标签: git branch