有没有在混帐“混帐拉 – 干运行”选项?

有没有这样的东西git pull --dry-run ,看看如何合并东西,然后弄乱我的工作树?

现在我正在做:

 git fetch origin && git merge --no-commit --no-ff 

我没有看到手册页中的任何与“git-pull”相关的内容。

编辑:

为了澄清,我只需要在ant脚本中进行部署,以查看在执行git pull时是否存在冲突,然后退出构build失败,部署失败并将该dir树留在git pull之前。

如果合并失败,我总是依靠git的固有能力来让我回归。

为了估计合并的可能性,你可以像你一样开始:

 $ git fetch origin branch # fetch changes but don't merge $ git diff HEAD..origin/branch # diff your current head to the fetched commit ... personal judgement of potential merge conflicts ... $ git merge origin/branch # merge with the fetched commit 

如果事情没有按计划进行,请查看您的reflog并重新设置为您所需的状态

 $ git reflog ... abc987 HEAD@{0}: merge activity b58aae8 HEAD@{1}: fetch origin/branch 8f3a362 HEAD@{2}: activity before the fetch ... $ git reset --hard HEAD{2} 

您将需要首先获取更新您的本地起源/主

 git fetch origin 

那你可以这样做:

 git diff --name-only origin/master 

将列出已更改的文件。

 git diff origin/master directory_foo/file_bar.m 

将列出文件directory_foo / file_bar.m的行diff。

你可以通过从你当前的分支创build一个新的分支来获得你想要的效果,并在那里做git pull 。 如果你对结果不满意,原来的分支是完整的。

因为拉意味着合并,我会去运行git merge --abort如果你的脚本检测到有任何冲突和合并失败。

 # fetch new commits from origin $ git fetch # check what are the differences and judge if safe to apply $ git diff origin/master # actually merge the fetched commits $ git pull