2016-11-17 54 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%的分支代碼也提交給主提交。多數民衆贊成在問題 –

相關問題