如何在 Xcode 中查看 Git 将推送到服务器的文件?

Posted

技术标签:

【中文标题】如何在 Xcode 中查看 Git 将推送到服务器的文件?【英文标题】:How can I see what files Git is going to push to the server in Xcode? 【发布时间】:2013-05-15 12:53:38 【问题描述】:

我在 Xcode 项目上设置了 Git,并且在将它们推送到服务器之前进行了许多小型本地提交。但是,如果我要执行 git push,我无法轻易说出所有文件更改是什么。我知道您可以查看管理器并查看您的所有个人提交,但我似乎无法找到这些更改的汇总视图。

基本上,如果我多次在本地提交更改到文件,我希望在将文件推送到服务器之前查看这些更改的汇总。

在 Xcode 或某些用于 Xcode 的 3rd 方工具中是否存在类似的东西?

【问题讨论】:

可以用命令行吗? git show 或类似的东西。 我可以使用命令行显示文件列表,但不能显示自上次推送到服务器以来对这些文件所做的更改。 【参考方案1】:

命令行

git diff --name-only origin/master

将列出您已更改但未推送的文件。

git diff origin/master directory_foo/file_bar.m

将逐行列出对 directory_foo/file_bar.m 的所有未推送更改的差异。

图形用户界面工具

如果您正在寻找 Git 工作流程的 GUI 工具,我使用 Xcode 在本地提交并使用 SourceTree 进行推送和拉取。在 Xcode 和 SourceTree 之前,我是一个顽固的命令行 SCM 人员。但我真的很喜欢使用 Xcode 在本地提交,它简化了审查更改差异和提交的多步骤过程。我使用 SourceTree 的次数越多,我就越喜欢它,而我使用命令行的次数就越少。我一直很喜欢 Atlassian 的产品以及 10 美元的独立开发者和小型初创公司许可证。现在我爱死他们了,因为他们购买了 SourceTree 并在 Mac App Store 上免费。

我认为 SourceTree 完全符合您的要求。在工具栏上,红色的 3 显示我有 3 个提交要推送。您只需选择 master 和 origin/master 即可获得推送内容的汇总。左下方的疼痛显示文件已更改,右侧显示该文件的聚合差异。

仅供参考:关于 Git 的两个精彩演示(绝对必须观看)

4 岁及以上的 Git http://www.youtube.com/watch?v=1ffBJ4sVUb4

高级 Git http://vimeo.com/49444883

【讨论】:

更新的答案还包括一个 GUI 选项。【参考方案2】:

您可以使用命令在本地存储库目录中的终端中分辨本地存储库与远程存储库的更改

git diff [local] [remote]

例如:

git diff master origin/master

【讨论】:

我不想看到已更改的文件,我想查看特定文件的汇总更改。我已将问题更新为更具体。【参考方案3】:

使用git show 检索您所做的提交。

获取提交的 SHA 标识并:

git diff 0da94be..59ff30c

另一种选择是:

git diff origin/master

上面的命令显示了要推送的文件的差异

来源:https://***.com/a/3637039/2387977

【讨论】:

【参考方案4】:

我尝试了 Eclipse,发现它非常简单。

右键单击项目,“比较”、“分支、标记或参考” 在“远程跟踪”下,选择“原点/主控” 我得到了修改文件的完整列表。

【讨论】:

以上是关于如何在 Xcode 中查看 Git 将推送到服务器的文件?的主要内容,如果未能解决你的问题,请参考以下文章

从 Xcode 服务器上的构建脚本中执行 git push OVER HTTPS

如果未将 env 文件推送到 git,如何在服务器上使用 env 中提到的密钥

如何推送到特定位置的数组?

git 创建分支并推送到远程分支

Git——如何从master检出分支dev并推送到远端?

eclipse中如何使用Git/gitee雷哥pull拉代码,commit提交到本地,Push推送到服务器