gpt4 book ai didi

git - 跨 repo 依赖的最佳实践

转载 作者:行者123 更新时间:2023-12-05 06:39:55 24 4
gpt4 key购买 nike

这是一个场景:

  • Repo A 是一个包含大量模块和依赖项的怪异代码。安装起来并不容易。它由其他人维护并托管在 Github 上。
  • Repo A 包含一个非常有用的模块 X,并且几乎不依赖于 Repo A 的其余部分
  • 我正在维护 Repo B(托管在 Github 上),它很小,我希望它易于分发。
  • 我想在 Repo B 中使用模块 X 的功能。

现在我可以将模块 X 复制到 Repo B 中以实现此目的。但是,如果 Repo A 的维护者对模块 X 进行了关键错误修复,我无法知道。我该如何解决这个问题?

最佳答案

假设模块X在RepoA的branchX中管理,你想在RepoB的master分支中使用模块X的功能,并且想知道模块是否X 在 RepoA 中有更新。因此,您可以将 RepoA 的远程添加到 RepoB。详细步骤如下:

1.在RepoB的master分支中应用模块X(RepoA中的branchX):

# In local RepoB
git remote add repoA <URL for RepoA>
git checkout master
git pull repoA branchX --allow-unrelated-histories

注意:如果有冲突,需要修改保存冲突文件再使用

git add .
git commit

2.检查branchX在RepoA中是否有更新:

git fetch repoA branchX 

如果输出喜欢:

$ git fetch repoA branchX
From https://github.com/account/RepoA
* branch branchX -> FETCH_HEAD

这意味着 RepoA 中的 branchX(模块 X)没有更新。

如果输出喜欢:

$ git fetch repoA branchX
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/account/RepoA
* branch branchX -> FETCH_HEAD
65cd100..6abbf6c branchX -> repoA/branchX

这意味着 RepoA 中的 branchX(模块 X)有更新,如果你想将 branchX 的更新应用到你的 master分支,你可以使用

git checkout master  #If your current branch is not master
git pull repoA branchX

关于git - 跨 repo 依赖的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44140702/

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