Git:推送到多个 Remote

标签 git github gitlab

简短:如果您已将多个远程存储库链接到您的本地文件,是否有办法同时推送到它们?

Long:由于工作原因,我的代码不得不使用gitlab和github remotes。因此,一旦我进行了一些本地更改,我就想更新这两个存储库。

我的 .git/config 文件看起来像这样

[core]
  repositoryformatversion = 0
  filemode = true
  bare = false
  logallrefupdates = true
  ignorecase = true
  precomposeunicode = true
[remote "origin"]
  url = https://github.com/myusername/myproject.git
  fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
  remote = origin
  merge = refs/heads/master
[remote "gitlab"]
  url = https://gitlab.com/myusername/myproject.git
  fetch = +refs/heads/*:refs/remotes/gitlab/*

据我了解,git status 命令仅适用于 origin 远程,这是真的吗? 推 pull 也适用于我的原始 Remote ,不幸的是,我无法使用 git add somefile.txt gitlab

将内容添加到我的其他 Remote (gitlab)

我如何将东西推送到我的 gitlab 远程?

最佳答案

如果您需要将本地分支推送到两个远程分支,请通过以下方式执行:

git push origin master
git push gitlab master
           ^^^ specify the remote to be used here

一般来说,我不认为同时推送到两个 Remote 是可取的。如果一次推送成功而另一次推送失败,会发生什么情况?这个不清楚。

请注意,大多数 Git 命令都是原子的,这意味着它们恰好完成,或者根本不发生。这意味着我们不必担心 git push 会以部分完成、损坏的状态结束。相反,推送要么按照您指定的方式发生,要么根本没有发生。

关于Git:推送到多个 Remote ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47177071/

相关文章:

git - 意外推送提交 : change git commit message

Git master 分支 merge 后根本没有新文件

git - 两个github帐户在同一台​​计算机上发生冲突

git - 致命的 : git write-tree failed to write a tree

redis - 在 Gitlab CI 中使用 redis

compare - Gitlab 分支/标签从低版本到更新版本的比较

docker - Gitlab-runner + Docker-compose 部署方案 : how to properly restart containers after reboot of host server

Git: merge 到master,同时自动选择用分支覆盖master文件

git - 克隆分支 : Remote branch branch-99 not found in upstream origin

javascript - GitHub API with Angular - 如何获取用户的公共(public) repo ?