防止 git 推送到错误的远程

Prevent git to push to wrong remote

我有一个本地分支机构 "gh",我一直想在 github 上推送到我的帐户;我还有另一个本地分支机构 "lab",我一直想将其推送到我组织在 github 上的帐户。
我为此设置了两个遥控器(gh 和 lab)。

$ git remote -v
gh  git@Ninguem.github.com:Ninguem/prj.git (fetch)
gh  git@Ninguem.github.com:Ninguem/prj.git (push)
lab git@Ninguem.github.com:lab-rasparta-org/prj.git (fetch)
lab git@Ninguem.github.com:lab-rasparta-org/prj.git (push)

我怕推的时候不小心把两者弄乱了。有什么办法可以避免吗?
注:
我已经成功地获取了这两个,所以我认为它们以某种方式 "linked" 正确地在一起......我如何管理哪些分支 "linked" 到哪些远程分支以及是否有安全机制?

如果你真的想避免把事情搞砸,那么你可以考虑使用两个本地存储库,每个 cloning a specific branch:

  • 一个克隆 Ninguem.github.com:Ninguem/prj.git
  • 一个克隆 Ninguem.github.com:lab-rasparta-org/prj.git

这样,你就确定你没有在错误的分支中,或者推送到错误的远程。

我注意到您可能混淆了术语 branchremote

  • A remote 远程存储库是托管在 Internet 或某处网络上的项目版本。

  • A branch 让我们创建一个隔离环境以在存储库中进行更改。


我相信您正在努力避免混淆推送到错误的遥控器。

假设您的个人 GitHub 帐户中有一个分行 my_branch

确保您使用的遥控器更安全的方法是明确说明您要推送到哪个遥控器:

  • 如果你想推送到你的个人仓库:

    git push gh my_branch
    
  • 如果您想推送到您组织的存储库:

    git push lab working_branch
    

这将是他的模式:

git push <remote> <remote_branch>


您还可以设置一个本地分支来跟踪远程 gh 上的远程分支,如下所示:

git checkout -b my_branch -t gh/my_branch

希望对您有所帮助。