gpt4 book ai didi

git - 在协作项目中保持 fork 与上游同步的标准方法是什么?

转载 作者:行者123 更新时间:2023-12-03 23:52:27 27 4
gpt4 key购买 nike

新手开源贡献者在这里。

我 fork 了 TortoiseGit repository在GitLab上,然后在我的电脑上克隆它,编辑了一个文件,并提交到分支master .

几天过去了,我想用上游的最新更改更新我的本地工作副本,然后再推送到我的远程分支并打开 merge 请求(当然还有更多的开发/测试等)。

我添加了一个名为 upstream 的 Remote 到我的仓库,现在我不确定推荐的操作是什么:

  • git pull来自 upstream/master到我的退房分行 master
  • git pull --rebase//
  • git fetch其次是 git rebase .

  • 这些是我在研究过程中发现的方法。不幸的是,我无法找到对每个项目的全面审查,也没有就在 GitHub、GitLab 甚至 Linux 内核等项目中工作时哪种是典型做法的建议。

    我尝试了方法 1 和 3。方法 1 ( pull ) 生成 merge 提交( --ff-only 不可能)并且我的历史在某种程度上被污染了。这也会造成冲突。方法 3 ( rebase ) 两者都没有,但我不确定如何 rebase在提交被推送到远程之后的行为,所以我担心它可能会导致问题。

    所以这是我的问题。
    谢谢你。

    最佳答案

    TortoiseGit 团队成员在这里。

    I added a remote called upstream to my repo and now I'm not sure what would be the recommended action:
    1. git pull from upstream/master to my checked-out branch master
    2. git pull --rebase //
    3. git fetch followed by git rebase.



    不同的团队使用不同的工作流程。
    Pro Git (v2) - 5.1 Distributed Git - Distributed Workflows

    在 TortoiseGit 团队中,我们更喜欢保持历史简单,贡献者通常有责任在 rebase 时解决冲突。

    因此,大多数情况下,我们使用“ git fetch 后跟 git rebase ”,尤其是在贡献时。然后,如您所说,在 GitHub/GitLab 上创建 pull/merge 请求(通过使用 git push),或更新 pull/merge 请求(通过使用 git push with force)。

    How Can I Contribute?HowToContribute.txt其他详细信息。

    关于git - 在协作项目中保持 fork 与上游同步的标准方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55501551/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com