【问题标题】:git - merging one repo to mastergit - 将一个 repo 合并到 master
【发布时间】:2014-12-16 16:17:47
【问题描述】:

我一直在通过 FTP 与某人合作开发 Web 应用程序,但这当然不可避免地会失败,因此我们正在改用 git。我切换到 git 并一直在 master 上提交,而他现在仍在使用 FTP 大约一个星期。

我们现在都在使用 git,我正在尝试找出将我们的文件合并在一起的最佳方法。如果我将他的文件从 FTP 拖放到新的本地分支上,我会将 git add .、commit 和 push 拖放到新分支上。然后我git checkout master 并尝试git merge newBranch,master 上的文件会被 newBranch 的文件覆盖。

我已经阅读了很多关于 git 的内容,但在我的场景中我似乎无法理解这一点。任何关于我应该如何解决这个问题的提示将不胜感激。

谢谢

【问题讨论】:

  • 对合并的期望是什么?是否要根据文件的更改日期进行合并?或者更喜欢你的版本/他的版本? IE。你想如何决定使用每个文件的哪个版本?
  • 也许我没有正确理解 git,但我想将我们的文件“合并”在一起。我知道会有冲突,但是在我将两个存储库合并在一起之后,它们不应该显示为冲突吗?我想基本上将两者结合起来,如果代码有差异,git应该告诉我,我可以自行决定解决它
  • 您是否根据已经拥有您文件的分支启动了这个新分支(为他的文件)?
  • 是的,我想,我刚刚做了 git checkout -b newBranch。这将所有来自 master 的代码(我的代码)放入 newBranch。但后来我将 FTP 文件拖放到 windows 中的 newBranch 中(带有选项:全部覆盖)
  • 在这种情况下,这是预期的结果。他的更改基本上适用于您当前版本的文件。没有任何冲突,因为您没有同时进行任何更改。如果你早一点开始,创建分支,然后在你的分支和他的分支中进行更改,然后尝试合并,情况会有所不同。

标签: git github version-control merge


【解决方案1】:

这应该可行:

  • 找到您开始使用 Git 的提交,例如123456。
  • 确保您在主分支上:git checkout master
  • 根据上述提交创建一个分支:git checkout -b ftp 123456
  • 在此分支中应用来自 FTP 服务器的更改,并在那里提交。
  • 再次切换到master分支:git checkout master
  • 尝试将ftp 分支合并到master:git merge ftp。

您现在应该会遇到很多冲突 - 手动解决它们,然后提交更改。

为避免破坏您的 master 分支,您可能希望在另一个分支中执行所有这些操作,而不是 master。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-16
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 2016-09-20
    • 2014-12-04
    相关资源
    最近更新 更多