使用 xcode,我如何区分文件的工作副本和存储库中的最新提交?

Posted

技术标签:

【中文标题】使用 xcode,我如何区分文件的工作副本和存储库中的最新提交?【英文标题】:Using xcode, how can I diff between a working copy of a file and the latest commit in the respository? 【发布时间】:2012-05-26 20:03:19 【问题描述】:

使用 xcode 我想查看文件的工作副本与存储库中的最新提交之间的差异。我知道,如果我承诺,我可以得到比较。而且我知道我使用'git diff'从命令行执行此操作。但是有没有办法从 xcode GUI 中做到这一点?

我一直在想一定有办法做到这一点,但找不到。

【问题讨论】:

【参考方案1】:

这并不完全是差异,但您可以使用版本编辑器按钮获得并排比较,就在 Xcode 窗口右上角的“编辑器”一词上方。

它是屏幕右上角1 上助手编辑器图标右侧的箭头图标。提交/取消答案也有效。菜单:source_control --> 提交(然后取消)。

【讨论】:

我看不到这个 - 你能添加截图吗?【参考方案2】:

我发现了一种方法来做我想做的事。如果您点击存储库页面上的提交按钮,您将看到提交视图,该视图提供了一个机会来区分每个文件即将提交的版本与当前分支中的最新提交。您可以查看您的差异,然后取消提交。

【讨论】:

【参考方案3】:

这里是截图。

点击右上角的版本编辑器按钮(突出显示的框):

然后,单击要与之比较的修订(页脚突出显示的框):


此外,您可以使用以下按钮浏览每个更改:<>


最后,您可以使用“放弃更改”撤消单个更改,如下所示:

【讨论】:

有没有像 Github 这样的统一格式?见this image。目前 Xcode 所拥有的是分裂... 如何获取远程的最新提交?当我执行“git fetch”时,在比较提交时,我仍然没有将 repo 的最新提交作为选项【参考方案4】:

Phillip 和 Donn 都有正确的答案,但我提供了一个额外的屏幕截图来说明为什么使用“显示版本编辑器”按钮是这个问题的准确答案。我认为这应该是公认的答案,并且应该删除所有其他答案以避免混淆。 :)

如下面的屏幕显示所示,“显示版本编辑器”显示了一个拆分视图,它是所选修订之间的视觉差异,默认为左侧的本地修订和右侧的最新 repo 修订。关键是使用底部居中的箭头浏览各个差异。箭头之间的数字表示当前差异和差异总数。

【讨论】:

【参考方案5】:

如果您只是想查看与 previous 提交的区别,那么您可以按照 Commit 的快捷方式进行操作,即:Opt CmdC。我发现这可以更快地访问。此外,您将看到您所做的所有更改,而不仅限于单个文件。

如果您想与之前的 2-3 次提交进行比较,则必须使用其他答案已经提到的比较按钮。

编辑:

Xcode10 有一个更改栏。见this moment from WWDC 2018 Source Control Workflows in Xcode

【讨论】:

【参考方案6】:

所以,对于那些已经更新到 Xcode 12 并感到完全失落的可怜灵魂,只需转到 View -> Show Code Review。旧版本编辑器(或类似的东西)将在那里。

【讨论】:

以上是关于使用 xcode,我如何区分文件的工作副本和存储库中的最新提交?的主要内容,如果未能解决你的问题,请参考以下文章

在提交文件之前从工作副本创建新的存储库

Xcode 5:从新的 GitHub 存储库推送和拉取不起作用

从 SVN 存储库中删除文件而不删除本地副本

如何将普通的 Git 存储库转换为裸存储库?

源代码管理最佳实践 - 定期从存储库更新工作副本

如何删除工作副本中所有未版本化/忽略的文件/文件夹?