GIT,在正确的分支中进行更改

时间:2012-08-01 22:42:29

标签: git

假设您维护了2个分支,devrelease

除了纪律之外,你如何强迫自己不在release进行更改并结帐到dev

Q1:如果您忘记这样做并在release中进行了更改,是否有办法将其提交到dev而是在release中止?

Q2:人们使用什么常见技巧来避免在分支机构中进行大量更改而不是为此而设计?

3 个答案:

答案 0 :(得分:3)

Q1 :是的,这非常简单。如果你意识到你犯了错误的分支:

git checkout dev
git cherry-pick release # you may need to cherry-pick several commits
git checkout release && git reset --hard HEAD^ # or reset to wherever you want

Q2 :我非常依赖git-completion:

https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

答案 1 :(得分:2)

这并不像你正在寻找那么复杂的答案,但是在你的提示中放置你当前的git分支会让你获得很大的一部分。你可以在那里找到很多食谱,但是this one看起来很合理,有些花里胡哨。

您还可以查看how I do it

答案 2 :(得分:1)

我在我的shell中添加了一个小脚本,它总是向我显示我所在的分支。我使用oh-my-zsh,其中大多数主题都包含此内容,但也有一些较轻的选项,例如here所描述的选项。

通过这种方式,我可以分辨出我正在处理哪个分支,并且通常不会搞砸。

如果您已经提交到分支机构,则可以使用git rebasegit cherry-pick重写历史记录并将其放在其他分支上