git - "svn status -u"的 git 等价物(重新审视)

标签 git svn

在 Subversion 中,我可以使用

查看哪些文件会受到更新的影响,而无需实际执行更新
svn status -u

Git 没有这样的命令。对于这个问题,通常的建议是先进行获取。这是描述的herehere 。后一篇文章还包含一个写得很好的解释,说明为什么需要获取。

我今天偶然发现了一个discussion这个主题提出了一种不同的方法,即使用

git pull --dry-run

现在这让我想知道:

  1. 真的有效吗?它如何在不进行提取的情况下做到这一点?
  2. svn pull --help 没有解释 --dry-run 开关,但如果我使用它,git 也不会提示它是非法选项。这是一种“未记录的功能”吗?

最佳答案

git pull --dry-run的快速测试表明它与git fetch --dry-run等效。它实际上并不获取任何内容,它只是显示将获取的内容的 SHA1。恕我直言,这不是很有用。

git pull 相当于 git fetch 后跟 git merge。对于这些命令中的任何一个有效的参数通常都会被传递,这是有意义的。

如果“更新”是指 git pull,那么如果将其拆分为等效的运行 git fetchgit merge 命令,您可以检查之间的状态以确定将 merge/获取的内容。 git 中的另一个选项是进行 pull ,检查发生了什么,如果它做了您不想要的事情,则撤消它。

如果存在 merge 冲突,可以使用git merge --abort。如果没有,您可以使用 git reset 将分支恢复到之前的 SHA1。

关于git - "svn status -u"的 git 等价物(重新审视),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27523195/

相关文章:

svn - 如何跳过 svnsync 同步中的初始修订(以修复损坏的存储库)

svn - 合并结构变化时避免树冲突

ruby-on-rails - 我应该如何使用 git 子模块在 Heroku 应用程序之间共享代码?

git - 无法通过 ssh 连接到 GitLab

git - 安卓工作室 : How to add line break in git commit message?

svn - 是否可以在 svn 中取消恢复?

svn - 仅从Subversion导出更改的文件,维护目录结构

java - 乌龟在我所有的根文件夹上加了问号

git - Jenkins 有时无法获取 repo

Git 归咎于暂存文件