简体   繁体   English

将克隆的 git 存储库中的 git 存储库的更改推送到我的私人 git 存储库

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

I have git cloned phosa git repo which depends on 3 other git repos.我有 git 克隆的 phosa git 存储库,它依赖于其他 3 个 git 存储库。 I have git cloned those three and have modified their codes as needed.我有 git 克隆了这三个,并根据需要修改了它们的代码。 I now want to push the changes to my private git repo but I get the following warning.我现在想将更改推送到我的私人 git 存储库,但我收到以下警告。

How can I push the changes for these 3 git repo cloned inside the phosa repo by me?如何推动我在 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

Here's my git status results:这是我的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)

You should fork each of the dependency repos individually and push your modifications to those personal forks.您应该单独分叉每个依赖库并将您的修改推送到这些个人分叉。 You can do this by adding a remote to your cloned local repos with git remote .您可以通过使用git remote将远程添加到克隆的本地存储库来实现此目的。

Then you can modify the dependencies in your clone of the phosa repo to use your personal versions of these dependencies.然后,您可以修改 phosa 存储库克隆中的依赖项,以使用这些依赖项的个人版本。

The way I fixed this problem is creating two git repo for the changes I have made to these submodules and also ignoring them in the actual repo using.gitignore:我解决此问题的方法是为我对这些子模块所做的更改创建两个 git 存储库,并在实际存储库中使用.gitignore 忽略它们:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM