Git:在提交并推送到远程存储库之前检查可能的冲突

标签 git commit conflict

来自 Subversion,我习惯使用“svn status -u”来检查在 checkin 远程存储库之前是否会遇到冲突。

可以用 GIT 同样简单的方式完成吗?最好在本地提交之前。

最佳答案

这是一种方法。首先,从远程获取任何更改:

git fetch <remote>

现在假设您对 master 进行了未提交的更改,并且您想查看 <remote>/master 中发生了什么变化。然后只需使用以下内容:

git diff --name-status master <remote>/master

这将显示已更改文件的列表及其状态。

现在,如果您实际上已对本地 master 提交了更改如果您想查看可能发生冲突的内容,您可以简单地在本地进行 merge 来尝试一下,如果您不喜欢结果,则将其重置回原来的位置:

git checkout master
git merge <remote>/master

# Don't like the results, reset
git reset --hard head^

还有其他方法可以获取此信息,我稍后会添加。

关于Git:在提交并推送到远程存储库之前检查可能的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18533564/

相关文章:

git - 致命的 : failed to read object xxx: Permission denied

git - 如何让 Git 默认使用 "theirs" merge 策略?

git - 错误 : could not lock config file/etc/gitconfig: Permission denied

git - 在两个分支上都完成许多提交后,如何将分支的特定提交推送到其他分支

jQuery 杀死其他函数

Scala 隐式转换陷阱

git rebase,跟踪 'local' 和 'remote'

xcode - 全局 Xcode 运行脚本

git undo commit 在 protected 分支上?

Git:如何在反向 merge 后提交本地更改