【问题标题】:In Xcode with git, can you merge one branch with only changes after a certain date to master?在带有 git 的 Xcode 中,您可以合并一个仅在某个日期之后进行更改的分支以掌握吗?
【发布时间】:2015-03-12 22:29:00
【问题描述】:

全部,

我有两个分支,一个是master,一个是client,我们对client分支做了很多改动。现在我们知道我们在 2015 年 1 月 1 日之前对客户端分支所做的所有更改都是好的,需要合并到 master 中。我怎么做? (当然,我们也在 2015 年 1 月 1 日之后在客户端进行了很多更改)。

我在 Xcode 6.1 中所做的是切换到分支客户端,然后单击源代码控制 -> 客户端 -> 合并到分支 -> 主控,但是看起来这将合并从客户端到主控的所有内容,而不仅仅是之前的那些2015 年 1 月 1 日。

另一个选项可能是,将我的代码恢复到客户端中 2015 年 1 月 1 日之前的最后一个更改集状态,然后将其合并回主控?这会有效吗,如果有效,我该怎么做?

谢谢。

【问题讨论】:

  • 仅供参考 - 从命令行使用 git 可以让您做的比通过 Xcode 做的更多。 Google 搜索将为您提供许多关于如何使用 git 进行各种类型合并的结果。
  • 您可以追溯创建一个分支来解决这个问题。将分支指向 2015 年 1 月 1 日提交,在此之前所有提交都很好,应该合并。合并那个分支。 Bingo Bango Bob 是你的叔叔。
  • 你考虑过SourceTree这样的工具吗?虽然 Xcode 适合标准的拉取、提交、推送、工作流,但我更喜欢使用 sourcetree 来管理合并/分支和其他 gitflow 操作,因为它可以让您专门查看正在发生的事情。

标签: ios xcode git merge


【解决方案1】:
git checkout -b newbranch $(git rev-list oldbranch --before=1.1.2015 -1)
git checkout master
git merge --no-ff newbranch

你也可以像这样使用 reflog 日期,

git checkout -b newbranch oldbranch@{1/1/2015}

如果您是唯一提交此分支的人,并且您的 reflogs 仍在工作。

【讨论】:

    猜你喜欢
    • 2012-06-02
    • 1970-01-01
    • 2020-02-21
    • 2018-01-17
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    相关资源
    最近更新 更多