如何从 Xcode 中的本地分支中提取

Posted

技术标签:

【中文标题】如何从 Xcode 中的本地分支中提取【英文标题】:How to pull from local branch in Xcode 【发布时间】:2014-09-09 22:58:36 【问题描述】:

所以我有一个尚未推送到远程的本地分支的提交。我在本地提交后工作了一点,并决定回到我所提交的内容。我选择了 Discard All Changes . . .Source Control 下,但它似乎比我想要的更远。我可以在我的 History . . . 下看到提交,但是当我选择 Pull > . . . 我得到的只是远程分支的选项(它仍然显示我终止的分支,所以帮助我刷新它会也很棒,但另一件事现在更重要)。

非常感谢任何和所有建议。

解决方案:所以我最终做的是使用git log 来找到我想要的提交。我复制了提交号。然后git reset --hard *commit #*。这些文件在我的 Finder 窗口中,但在我的 Xcode 项目中没有,所以我去了 Files->Add Files to "projectName " 并添加了文件。在我向自己保证一切都已修复后,我使用git push --force 提交了我的构建。

希望对某人有所帮助,如果您对我的解决方案有任何疑问,请随时发表评论。

【问题讨论】:

【参考方案1】:

CGTheLendend,

因此,当您git pull 时,您实际上是在将源代码从远程存储库提取到本地存储库中。相反,您想要做的是git log,它将以以下格式显示您的所有提交:

 commit f5c5cac0033439c17ebf905d4391dc0705dbd5f1
 Author: CGTheLegened  
 Date:   Fri Sep 6 14:36:59 2010 -0500

     Added and modified the files.

 commit c14809fafb08b9e96ff2879999ba8c807d10fb07
 Author: CGTheLegened 
 Date:   Tue Sep 4 08:59:32 2010 -0500

    Just simple test for core.editor.

 ... etc ...

从这里,您想使用git reset 命令转到特定的提交。如果你这样做:

  git reset --hard c14809fa

使您的本地代码和本地历史与提交时一样。

如果您有任何问题,请告诉我!

【讨论】:

所以我使用了您建议的命令。它说我的 HEAD 没有指向我想要的提交,但是更改没有出现在 XCode 中。我已经尝试退出 XCode 并重新启动。 嘿 CGTheLedend,啊,是的;我遇到了你现在的情况;你应该先通读这个答案(***.com/questions/5772192/…),让你了解你现在的位置;那里列出的步骤应该适合您;如果他们不这样做,请联系我并问我任何问题!感谢您的宝贵时间!

以上是关于如何从 Xcode 中的本地分支中提取的主要内容,如果未能解决你的问题,请参考以下文章

如何将本地分支 A 中的多个本地提交推送到远程分支 B 并从本地分支 A 中清除它们?

Gitlab如何将master上的当前代码下拉到本地分支

使用“git pull”时,如何将 Git 配置为自动从当前分支中提取?

GIT:如何在恢复合并后从分支中提取更改

如何使用 Git 分支支持覆盖 TeamCity 7.1 中的 <default> 分支名称?

Git:从 master 以外的分支克隆