V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yodhcn
V2EX  ›  程序员

Github 如何让 Fork 的 repository 自动合并原始 repository 的代码提交?

  •  
  •   yodhcn ·
    yodhcn · 52 天前 · 2316 次点击
    这是一个创建于 52 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Fork 一个开源项目二次开发,但是新增的功能与原始项目关联不大,不能直接提 PR ,在这种情况下,如何在原始项目提交新代码时,若没有冲突,就自动同步提交到自己的 Fork 项目?
    这种情况各位有没有经验?
    16 条回复    2024-07-30 15:24:22 +08:00
    xhatt510
        1
    xhatt510  
       52 天前
    蹲办法。同问
    lisxour
        2
    lisxour  
       52 天前
    我一般给 git 再加一个 remote ,fetch 下来后,自己 merge 一下(可以将远程分支 merge 进来,就是一个名字的区别而已)
    enchilada2020
        3
    enchilada2020  
       52 天前 via Android
    GitHub Actions 每天自动合并
    jasonkayzk
        4
    jasonkayzk  
       52 天前
    跑个 GitHub Actions 合并就行。
    coldle
        5
    coldle  
       52 天前 via Android
    就用楼上说的 github action ,之前部署 lobechat 的时候有见这么用过
    nagisaushio
        6
    nagisaushio  
       52 天前 via Android
    本地加一个 remote ,手动 fetch ,rebase ,都不用一分钟
    qichunren
        8
    qichunren  
       52 天前
    github 的网页上有一个按钮,点一下就同步代码了。
    1rv013c6aiWPGt24
        9
    1rv013c6aiWPGt24  
       52 天前 via Android
    我记得有一个 pull 插件,选择仓库就行,之前一直用这个,源仓库更新之后就会自动拉取,插件就叫 pull
    cnbattle
        10
    cnbattle  
       52 天前 via Android   ❤️ 1
    # 添加原始仓库为 upstream
    git remote add upstream [email protected]:xxx/xxx.git

    # 获取 upstream 的更新
    git fetch upstream main

    # 切换到 main 分支
    git checkout main

    # 合并 upstream/main 的更新
    git merge upstream/main

    # 解决冲突(如果有)

    # 推送到自己的远程仓库
    git push origin main
    feixianghao
        11
    feixianghao  
       52 天前
    @wjfz #7

    赞。这个确实是最全的。
    SunsetShimmer
        12
    SunsetShimmer  
       52 天前 via Android
    Jakarta
        13
    Jakarta  
       52 天前
    https://www.v2ex.com/t/1028255#reply0
    遇到过类似的问题,但是跟楼主的需求可能不太一样。

    目前我是手动 fetch 然后 rebase 。
    jqtmviyu
        14
    jqtmviyu  
       52 天前   ❤️ 1
    unco020511
        15
    unco020511  
       51 天前
    @jqtmviyu 对,我也是参考这个
    guanzhangzhang
        16
    guanzhangzhang  
       51 天前
    6 楼正解,什么 fork 和 action 的别搞,github 的活跃度都乱了,还浪费地球资源
    git remote add upstream https://github.com/xxx/xxx
    git checkout main
    git checkout -b fix-xxx
    git fetch upstream main
    git rebase upstram/main
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2340 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:04 · PVG 00:04 · LAX 09:04 · JFK 12:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.