如何使用 Git 同步远程版本

How to use Git to sync remote versions

我正在使用 OpenCV 研究算法。

  1. 我 git- 将 OpenCV 的存储库克隆到本地文件夹。
  2. 算法的一些新文件是在 folder/subfolders
  3. 下创建的
  4. 我在远程服务器上创建了一个空的远程仓库,比如 github.com

那么,我应该怎么做:

  1. 将所有文件上传到远程仓库?
  2. 如何更新源自 OpenCV 的文件?
  3. 如果我需要修改 OpenCV 的文件,这样就不会有冲突怎么办?

据我了解,'submodule' 不适用于 'extra files'/我自己的文件与 OpenCV 代码库位于同一文件夹中的情况

有什么建议吗?

您最有可能需要做的是分叉原始存储库,并将其与原始 github 存储库一起添加为您本地的远程仓库。通过这种方式,您可以同步原始文件的更改,同时将您的更改推送到您的分叉。整个过程解释的非常好on github。总结:

  1. Fork 原始存储库(来自 OpenCV Github 页面)
    • 这将自动在您的用户名下创建一个分叉项目
  2. 在您的本地计算机上创建此分支存储库的克隆
  3. 将原始存储库作为第二个远程存储库添加到您的本地存储库。

    git remote add upstream https://github.com/opencv/opencv.git 
    
  4. 现在你应该有两个远程仓库,你可以根据需要保持它们之间的同步。

    git remote -v
    origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
    origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
    upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
    upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)