1

我正在使用 Git,我是新手。我有一个项目的最新代码,并且我正在开发一个新功能,但是当我在开发那个新功能时,我收到了一封我需要修复的电子邮件,但我还没有。不幸的是,我不能像 svn 那样“获取最新版本”(如果需要,可以合并),因为即使新功能文件与我需要的修复程序不常见,新功能文件似乎也会阻止拉取。对于这两种情况,最好的方法是什么:1)我没有用我需要的新文件修改公共文件,场景 2)我修改了公共文件(我只想像使用 svn 一样进行快速本地合并) ? 谢谢w

我应该藏起来,做一个拉来修复,然后继续处理我的功能吗?完成后弹出藏匿处?

4

2 回答 2

2

原海报问:

我应该藏起来,做一个拉来修复,然后继续处理我的功能吗?完成后弹出藏匿处?

这是您的一种选择。其他选项如下:

原海报问:

对于这两种情况,最好的方法是什么:

  1. 我没有用我需要的新文件修改的通用文件?
  2. 我修改了公共文件(我只想像使用 svn 一样快速进行本地合并)?

如果您拥有的新文件已准备好提交,您只需提交它,然后进行合并或变基。如果您修改的文件也在您正在获取的提交中被修改,那么您是否进行合并或变基并不重要,您可能必须以任何一种方式解决冲突:

git commit -am "Commit message here"
git fetch <remote-with-fix>

# Rebase your work on top of fix
git rebase <remote-with-fix>/<branch-with-fix>

# Or do a merge instead
git merge <remote-with-fix>/<branch-with-fix>

如果你的新文件还没有准备好提交,你可以做一个临时提交,然后获取修复,然后在上面重新调整你的工作,然后使用混合重置撤消临时提交:

git commit -am "Temporary commit"
git fetch <remote-with-fix>
git rebase <remote-with-fix>/<branch-with-fix>    
git reset head^
于 2013-08-10T06:01:00.953 回答
0

如果带有修复的分支除了修复之外什么都没有,那么只需合并它。

如果分支在当前分支中有您不想要的其他东西,那么就挑选。不过要小心挑选,因为这不会将提交历史记录为真正的合并,如果您将这些分支合并到另一个分支中,这可能会在以后引起冲突。

我认为你的情况是第一种情况。不用想太多,合并分支就行了。

如果修改了公共文件,您可能会遇到冲突,您必须手动解决。

于 2013-08-10T06:01:34.440 回答