如何解决从开发向主请求,如何保持分支“偶/同步”
我使用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
分支进行强制推送。
当前,如果我创建了从develop
到PR
的拉取请求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 举报,一经查实,本站将立刻删除。