Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 合并总是做重基_Git - Fatal编程技术网

Git 合并总是做重基

Git 合并总是做重基,git,Git,我告诉我的开发人员不要使用gitmerge命令,而要使用gitrebase命令。 我的要求是,如果用户/开发人员意外地点击git merge命令,我希望始终从git禁用git merge(命令) 这有可能实现吗 或 如果开发人员点击git merge,它将执行rebase。除此之外,您还可以请求您的团队使用: git config--global pull.rebase true git config--全局rebase.autoStash true 任何git pull实际上都是一个git

我告诉我的开发人员不要使用gitmerge命令,而要使用gitrebase命令。 我的要求是,如果用户/开发人员意外地点击git merge命令,我希望始终从git禁用git merge(命令)

这有可能实现吗

或 如果开发人员点击git merge,它将执行rebase。

除此之外,您还可以请求您的团队使用:

git config--global pull.rebase true
git config--全局rebase.autoStash true

任何
git pull
实际上都是一个
git pull--rebase
,迫使它们总是在更新的远程跟踪分支上重放本地(尚未推送)提交。

只有当我尝试从远程拉取更改时,此选项(git config--global pull.rebase true)才会起作用。但当我将一个本地分支合并到另一个分支时,这不起作用。在git中本地和全局禁用merge命令的最佳方法是什么?

您有SVN背景吗?或者为什么你总是坚持重新设定基准?对于
git
,merge是一种问题小得多的方法:rebase创建了从未测试过的新提交,而merge则记录了它发生的方式,为像
git bisect
这样的工具提供了更多的实用性。您确实不想避免与
git
合并。如果新提交包含任何合并提交,您可以签入服务器端钩子,如
pre-receive
。如果有,推送失败,并告诉用户使用
git pull-r
来展平分支。如果开发人员启动git merge branch\u name,我不想执行该命令,并给出一条错误消息,如git rebase only,这真的可能吗?@G.kalyan是的,尽管服务器端有预接收钩子,或者通过客户端的prepare-commit-msg钩子()你能分享pre-receive钩子的脚本或代码吗?这对我很有帮助Thanks@G.kalyan该代码将遵循答案第一个链接中的内容:这不是一个答案,而是一个问题。也许将此作为一个单独的问题或作为对上述答案的评论来提问是有意义的