作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在编写一个 bash 脚本来实现一些自动化。部分脚本涉及导航到本地 repo,切换到本地 master 分支,然后 pull 远程 master 以使用最新代码更新本地 master 分支。
有谁知道我是否可以通过编程方式确定 pull 是否导致 merge 冲突,以便我可以在那个时候退出而不执行脚本的其余部分?
感谢任何帮助/信息,谢谢!
最佳答案
使用 git ls-files -u
。它打印未 merge 的文件。如果它什么都不打印,则没有未 merge 的文件。
但是,虽然这是对您“按要求”提出的问题的直接回答,但在脚本中使用 git pull
有点冒险:pull
是一个方便的脚本为您运行 fetch
,然后(取决于您如何引导它和/或配置您的 repo)运行 merge
或 rebase
你。鉴于您正在编写一个有特定目标的脚本,您很可能应该使用执行更具体的事情的较低级别的命令。例如,您可以使用 git fetch
后跟(正如 Etan Reisner 在评论中建议的那样)git merge --ff-only
以便从不 尝试 merge 。
关于混帐 : Determine if branch is in a merge conflict state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27990830/
我是一名优秀的程序员,十分优秀!