首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何开始一个没有祖先的干净分支,然后逐步提交文件?

我如何开始一个没有祖先的干净分支,然后逐步提交文件?
EN

Stack Overflow用户
提问于 2012-07-15 06:20:34
回答 3查看 29.1K关注 0票数 63

我有一个GIT版本的PHP框架,我正计划对它的核心做几个(激进的)改变。

我想要做的是在一个新的分支中开始处理新的核心,但由于这种更改可能还需要在文件系统上进行一些重构,所以我希望尽可能干净地开始这个新的分支。

我希望clean分支只包含核心文件。当我完成我的更改时,我希望将框架中的其余模块逐个添加到工作目录中,但如果我在master上进行更改,则可以保持合并的能力。

我该怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-15 06:52:23

没有祖先的分支

您需要--孤立标志。例如:

代码语言:javascript
复制
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-add(1)手册页面上有关于有选择地添加文件的说明:

可以使用

文件全局(例如*.c)来添加所有匹配的文件。也可以给出一个前导目录名(例如,dir表示添加dir/file1和dir/file2),以递归方式添加目录中的所有文件。

票数 128
EN

Stack Overflow用户

发布于 2014-09-02 14:18:42

如果您必须使用旧版本的git:

代码语言:javascript
复制
 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
票数 -3
EN

Stack Overflow用户

发布于 2012-07-15 06:44:51

您可以简单地移动到一个新的分支git co -b my_new_branch,清理您的代码并保留您需要的东西,最后提交。该提交是my_new_branch上的第一个提交,因此将是一个干净的提交。

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11487811

复制
相关文章

相似问题

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