我有一个PHP框架版本与GIT和我计划数(激烈)的改变其核心。
我想要做的是,开始在一个新的分支新的核心工作,但由于这一变化,可能需要对一些文件系统的重组也一样,我想尽可能干净启动这个新的分支。
我想清洁分支,只包括与核心文件。 正如我在整理我的变化,我想从框架到工作目录逐一添加其余模块,但保留如果我做主人的改变合并的能力。
我怎样才能做到这一点?
我有一个PHP框架版本与GIT和我计划数(激烈)的改变其核心。
我想要做的是,开始在一个新的分支新的核心工作,但由于这一变化,可能需要对一些文件系统的重组也一样,我想尽可能干净启动这个新的分支。
我想清洁分支,只包括与核心文件。 正如我在整理我的变化,我想从框架到工作目录逐一添加其余模块,但保留如果我做主人的改变合并的能力。
我怎样才能做到这一点?
您希望--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)添加的所有目录中的文件,递归。
如果必须用一个旧版本的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
你可以做的是简单地转移到一个新的分支, git co -b my_new_branch
,清理你的代码,让你需要的东西,最后提交。 这犯,先上my_new_branch
,那么将是一个干净的一个。