2011-08-17 41 views
1

我正在研究branch A突然间一切都崩溃并停止工作。我想我可能会在代码中破坏某些东西,所以我committed我的更改并创建了新的branche Bbranch A保留它作为备份。然后我revert分支A到最后一个工作提交,并开始尝试修复任何可能的错误。后来我意识到服务器有一个问题,而不是我的代码。所以我删除了分支A并争取在branch B中工作。 我这样做是因为我不是git专家,所以我用我的小知识整理了一些东西。我相信应该有比我的“非常愚蠢的”方式更多更容易,更聪明和更合适的方法来解决这样的问题:) 任何建议?用git commit和恢复(我的愚蠢的方式)修复'不间断的'代码?

+1

什么是愚蠢的呢?与许多Git工作流程一样,实现它的方法不止一种,但您选择的方式对我来说似乎并不那么愚蠢或复杂。 –

回答

1

你可以有一个分支恢复到上次工作再犯,

git checkout branch_A 
git reset --hard last_working_commit_id 

合并的“完整”的代码从B改回一个分支,

git merge branch_B 

然后删除乙支路和继续与分公司合作。

git branch -d branch_B 
1

您的工作方式没有任何问题。在Git中,一个分支实际上只是一个指向提交的指针,当你创建更多的提交时,指针向前移动,直到最后一次提交。鉴于此,您的原始分支A和当前分支B之间没有区别,除了名称。

现在你已经删除的分支A,您可以支路B重命名为一个分支,如果你喜欢:

git branch -m branch-b branch-a 
+0

+1这可能是更好的解决方案,我的更复杂。 –

+0

非常感谢,这是我现在所做的。但是Lukas的回答是我正在寻找的,因为我正在寻求替代我所做的。 – Ansd