我目前正在为我的一个项目使用 Git,我喜欢它。
但是,因为我是唯一一个在我的项目上工作的人,所以我一直使用的唯一命令是
git status
git add .
git commit -m 'message here'
git push origin master
我很久以前就把这个项目推到了远程(我用 Capistrano 进行部署),一切都很好。
现在我想更改网站的设计,但要保持逻辑完整。我猜我需要为此创建一个新分支(我们称之为 newdesign
)。
不过,我想知道的是:如果我在 newdesign
分支上工作,并且我在 master
分支中看到一个错误,怎么能我修复了 master
上的错误,然后将该错误修复集成到 newdesign
分支中,以便后者与实际逻辑保持同步?
最佳答案
这是一个可以利用 Git 分支的经典案例。这是您应该使用的工作流程。
假设您创建了一个源自 master
的 develop
分支,并且您在该分支上做了一些提交:
突然,你意识到master
上有一个错误,一个你需要快速修复的错误。与其直接离开 master
工作,不如创建一个短期的 bug-fix 分支,将错误修复任务与 master
隔离开来> 分支机构:
git checkout master
git checkout -b bugfix
在 bugfix
分支上进行一次(或多次)提交以修复问题后,
您应该确保一切正常(运行测试等)。当您对 bugfix
上的代码状态感到满意时,将其 merge 到 master
中:
git checkout master
git merge bugfix
在那个阶段,您可以将您的(现已修复)master
分支推送到远程,并删除 bugfix
分支:
git push origin master
git branch -d bugfix
现在,要将 master
上的最新更改集成到 develop
中,基本上有两种选择。
通过运行将
master
merge 到develop
中:git checkout develop git merge master
或者,在
master
之上 rebasedevelop
,运行:git checkout develop git rebase master
无论哪种情况,您的 develop
分支现在都将包含修复,您可以继续在 develop
上工作。
关于git - 我怎样才能在 master 上修复错误并将其集成到我不太稳定的分支中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25933056/