我在 Xcode 项目上设置了 Git,并且在将它们推送到服务器之前进行了许多小的本地提交。但是,如果我要执行 git push,我无法轻易说出所有文件更改是什么。我知道您可以查看管理器并查看您所有的个人提交,但我似乎无法找到这些更改的汇总视图。
本质上,如果我多次在本地提交更改到文件,我希望在将文件推送到服务器之前查看这些更改的汇总。
Xcode 或 Xcode 的某些 3rd 方工具中是否存在类似的东西?
命令行
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
您可以使用以下命令从本地存储库目录中的终端告诉本地存储库与远程存储库的更改
git diff [local] [remote]
例如:
git diff master origin/master
用于git show
检索您所做的提交。
获取提交的 SHA 标识,并:
git diff 0da94be..59ff30c
另一种选择是:
git diff origin/master
上面的命令显示了要推送的文件的差异