2016-11-17 59 views
1

我正在开发一个新功能,为新功能创建一个名为example的分支。在这个分支中创建了很多新的文件夹和文件。
有一项任务具有高优先级执行,所以我回到主分支使用git checkout master在主分支上提交获取在测试分支中创建的所有文件夹

现在我在master分支,做了任何我想要的改变,并且想把它推给我的主人。

我进行git add -Agit commit -m 'Priority 2016'

这得到了所有创建的文件夹和文件在测试分支。
我做了什么错?
任何帮助?

+0

'git add -A'应该只添加新的文件或文件夹,或者代表你已经改变的东西。你想提交哪些文件/文件夹? –

+0

当你git checkout所有的modif都移动到你选择的分支中,除非你在git checkout之前的例子分支中提交。你也可以藏起来。 – Stargateur

+0

我只想提交我在主人所做的更改,而不是测试分支 –

回答

1

GIT中检出主不会删除其是在另一支加入(但不提交)文件:见“Why git keeps showing my changes when I switch branches

一个git reset --hardgit clean -f -d可能需要(as shown here)在你checkout master的时间。

如果您还没有推,您可以:

  • 重置HEAD和索引:git reset @~
  • 删除多余的文件(或保存他们,如果你需要他们回到你的分支)
  • git add -A,然后再次提交。

由于OP Mohan Prasad评论below

的问题是,每当我从分支翻到master我没有犯我的变化:我只是做了git checkout master这已经引起了这个问题。

+0

没有我的问题是,我不希望git也提交我的分支更改。当我在主人并承诺我的主人更改时,它也添加了我的分支更改以及.. –

+0

@MohanPrasad因此,我的答案:当您切换回主要进行修复时,您应该已完成重置 - hard和clean to避免保留在其他分支中创建的文件。 – VonC

+0

例如,我通过添加文件夹和文件在分支上工作了50%。现在我翻转回主,并对主分支中的其他代码进行一些更改。我想把代码放在主分支上。我承诺主人的变化。当我这样做时,它也将我的50%的分支代码也提交给主提交。多数民众赞成在问题 –

相关问题