将外部更改合并到我的Git仓库中的最佳方法是什么?

时间:2011-04-27 21:25:44

标签: git

我在Git仓库中有一个项目,并且我已经发送了在Git之外进行的更改。这些更改基于我一直在对自己进行更改的早期版本。将这些外部文件与我的合并的最佳方法是什么?

非常感谢!

3 个答案:

答案 0 :(得分:11)

最好的方法是告诉git它们基于什么提交,为您提供自动合并的最佳机会。

  1. git checkout <sha1 of the old commit> -b mybranch,回放工作树并开始新的分支。
  2. 如果更改是作为差异发送的,请使用git-apply将其应用于工作树,否则只需将更新的文件放入。
  3. 添加并提交文件。
  4. git checkout master,然后是git merge mybranch

答案 1 :(得分:4)

你会想要像使用这些文件一样行事,所以从你正在谈论的早期版本的状态提交它们:

  1. 在您认为是修改文件的基础的提交中创建分支
  2. 添加修改后的文件
  3. 提交
  4. 将分支合并到您的主要开发分支

答案 2 :(得分:0)

最好的方法是为提供更改的人提供补丁而不是文件。但是,如果不可能,那个其他人不知道版本控制或其他东西,您可以尝试在您当前正在处理的分支中提交所有未完成的更改。最好还是尝试避免任何未跟踪的文件。然后将这些文件复制到git仓库并运行git status,您将看到与您的仓库状态相比有哪些变化,然后您可以决定用它们做什么