微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从开发向主请求,如何保持分支“偶/同步”

如何解决从开发向主请求,如何保持分支“偶/同步”

我使用git-flow,从Github保护规则中,我保护了分支import threading from pynput.mouse import Button,Controller from pynput.keyboard import Listener,KeyCode delay = 0.01 button = Button.left start_stop_key = KeyCode(char='s') exit_key = KeyCode(char='e') class ClickMouse(threading.Thread): def __init__(self,delay,button): super(ClickMouse,self).__init__() self.delay = delay self.button = button self.running = False self.program_running = True def start_clicking(self): self.running = True def stop_clicking(self): self.running = False def exit(self): self.stop_clicking() self.program_running = False def run(self): while self.program_running: while self.running: mouse.click(self.button) time.sleep(self.delay) mouse = Controller() click_thread = ClickMouse(delay,button) click_thread.start() def on_press(key): if key == start_stop_key: if click_thread.running: click_thread.stop_clicking() else: click_thread.start_clicking() elif key == exit_key: click_thread.exit() listener.stop() with Listener(on_press=on_press) as listener: listener.join() master,并且都选择了develop

一切正常,但是现在我不只是从Require linear history合并到develop,而是开始使用“拉请求”(master),我想知道是否可以使分支保持偶数/同步,同时保持历史记录线性,而无需对develop -- PR --> master分支进行强制推送。

当前,如果我创建了从developPR的拉取请求develop,并且由于选中了master选项,那么我将无法合并,只能合并{{1 }}或Require linear history,因此,如果我修改squash and merge分支并进行另一次提交,它将提前N次,但永远不能为“偶数”。

我发现即使使用rebase and merge也能制造develop的唯一方法

develop

但是后来这意味着强制推动:

master

当不使用git pull origin master --rebase 时,我只是将开发合并到master(FastForward)中并保持历史记录为线性,我可以合并拉取请求并通过禁用git push -f 来防止强制推送,但是历史记录不会线性的。 (我认为PR不会使用FastForward合并)

我使用git-flow的原因是CI / CD使用PR分支并将其部署到暂存阶段,Require linear history部署到生产阶段,我知道可以部分解决通过使用develop使得所有没有标签的合并到master中的东西都可以部署到“ staging”,而只有标签到“ production”,但是目前具有分支tags和{{1 }}保持分支尽可能同步的最佳方法是什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。