有时您需要拥有第二个远程来源,以便您的项目能够做一些特别的事情,对我来说,它正在为网站添加自动部署,而我却无法访问Origin Master作为存储库所有者。
在这种情况下,我将获得该项目的副本,虽然它应该与Origin Master进行更改,但今天我们将了解如何实现它。
要添加第二个远程来源到git并将更改推向GitHub上的两个存储库,您可以按照以下步骤操作:
- 打开您的终端或命令提示符,并导航到您要推到两个存储库的本地GIT存储库。
- 使用
git remote -v
命令列出存储库的现有远程起源。您应该看到这样的东西:
$ git remote -v
origin https://github.com/username/repo.git (fetch)
origin https://github.com/username/repo.git (push)
- 使用
git remote add
命令向存储库中添加第二个远程原点。例如,如果要在url https://github.com/username/second-repo.git中添加名为“ second”的远程原点,则可以使用以下命令:
$ git remote add second https://github.com/username/second-repo.git
- 再次使用
git remote -v
命令确认已添加了新的远程源:
$ git remote -v
origin https://github.com/username/repo.git (fetch)
origin https://github.com/username/repo.git (push)
second https://github.com/username/second-repo.git (fetch)
second https://github.com/username/second-repo.git (push)
-
对您的本地git存储库进行任何更改,并使用
git commit
命令进行提交。 -
使用
git push
命令将更改推向两个远程起源。要立即推到两个起源,您可以使用--all
选项:
$ git push --all
这将把所有分支都推向两个远程起源。另外,您可以指定一个特定的分支以将其推向两个起源:
$ git push origin branch-name
$ git push second branch-name
这将把指定的分支推向两个远程原始。
同步两个远程起源
要检查您的两个远程起源是否同步,您可以使用git fetch
命令从origins获取更改并比较它们。您可以做到这一点:
- 使用git fetch命令从两个远程起源中获取更改:
$ git fetch origin
$ git fetch second
- 使用
git log
命令比较两个远程起源的提交历史记录。例如,要比较两个起源上的主分支,您可以使用以下命令:
$ git log origin/master
& git log second/master
如果第二个来源是第一个原点后面的,则可以通过从第一个来源获取更改,然后将它们推到第二个来源来同步它们。您可以做到这一点:
- 提取从第一个来源变化:
$ git fetch origin
- 将从第一个来源的更改合并到您的本地存储库中:
$ git merge origin/master
请注意,“原始/主”是您要从第一个来源合并的分支的名称。将“主”替换为要合并的分支的名称。
- 将更改推向第二个来源:
$ git push second master
请注意,“第二”是第二个远程来源的名称,而“主”是您要推开的分支的名称。将“主”替换为要推的分支的名称。
就是这样,
希望这会有所帮助。
让我知道评论中的任何问题
哈希