繁体   English   中英

git:如何将提交的更改从master移动到branch?

[英]git: how to move committed changes from master to branch?

我们有一个项目,其中一个开发人员对主分支进行了一些提交 - 而不是从master创建一个单独的分支 - 并且破坏了东西。 我如何能:

  1. 撤消master中的提交
  2. 从主人那里做一个分支
  3. 重新提交(或任何正确的git术语)那些提交到新分支?

你可以制作1和2,但你可以简单地注意2和3,然后制作1。

  1. 从主人那里做一个分支
  2. 重新提交(或任何正确的git术语)那些提交到新分支?

假设您在工作副本中的master分支上有这些错误提交:

只需创建并切换到新分支:

git checkout -b name_of_new_branch

然后把它推到回购:

git push -u origin name_of_new_branch 

你的同事现在应该能够做到:

git fetch origin
git checkout name_of_new_branch

  1. 撤消master中的提交
git checkout master
git reset --hard HEAD~N

其中N是您同事的错误提交数。

那么,如果你可以覆盖你的仓库中的分支(github中的默认设置),那么你可以:

git push origin master --force

请谨慎使用此选项。 如果我在你的鞋子里,我会等到有人确认,那些命令是正确的;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM