将克隆的 git 仓库中 git 仓库的更改推送到我的私有 git 仓库

Pushing the changes to the git repos inside a cloned git repo to my private git repo

我已经 git 克隆了 phosa git repo,它依赖于其他 3 个 git 回购协议。我已经 git 克隆了这三个,并根据需要修改了它们的代码。我现在想将更改推送到我的私有 git 存储库,但我收到以下警告。

我如何推送我在 phosa 存储库中克隆的这 3 个 git 存储库的更改?

$ git add .
warning: adding embedded git repository: external/detectron2
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint: 
hint:   git submodule add <url> external/detectron2
hint: 
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint: 
hint:   git rm --cached external/detectron2
hint: 
hint: See "git help submodule" for more information.
warning: adding embedded git repository: external/frankmocap
warning: adding embedded git repository: external/multiperson

这是我的 git status 结果:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
    modified:   .gitignore
    new file:   PHOSA_demo.ipynb
    new file:   external/detectron2
    new file:   external/frankmocap
    new file:   external/multiperson
    new file:   input.jpg
    modified:   phosa/pose_optimization.py
    modified:   requirements.txt

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
    modified:   external/frankmocap (modified content)
    modified:   external/multiperson (modified content)

您应该单独分叉每个依赖库并将您的修改推送到这些个人分叉。您可以通过使用 git remote.

向克隆的本地存储库添加一个遥控器来做到这一点

然后您可以修改 phosa 存储库克隆中的依赖项以使用这些依赖项的个人版本。

我解决这个问题的方法是为我对这些子模块所做的更改创建两个 git 存储库,并在实际存储库中使用 .gitignore:[=11= 忽略它们]

$ git remote set-url origin https://github.com/monacv/frankmocap.git