git remote 命令詳解

作者:辰風(fēng)沐陽 閱讀:1470 發(fā)布時(shí)間:2021-10-21 上次更新:2022-09-02

1. 使用場景


看完本文內(nèi)容可解決以下問題:

1、本地代碼需要上傳到遠(yuǎn)程倉庫上時(shí)
2、本地已有倉庫,需要將本地倉庫推送到遠(yuǎn)程倉庫上時(shí)
3、本地已有倉庫,并且已關(guān)聯(lián)遠(yuǎn)程倉庫,需要更改關(guān)聯(lián)的遠(yuǎn)程庫時(shí)

2. 推送代碼流水線


  1. # 第一步: 創(chuàng)建本地庫并完成初始提交,也就是讓本地庫有提交記錄
  2. git init
  3. git add .
  4. git commit -m "first commit"
  5. # 第二步: 添加一個(gè)遠(yuǎn)程倉庫配置
  6. git remote add origin https://gitee.com/holyking/test-1.git
  7. # 第三步: 設(shè)置上游分支,并且使用遠(yuǎn)程名稱推送到遠(yuǎn)程庫
  8. git push -u origin master

3. 添加遠(yuǎn)程庫配置


首次將代碼推送到遠(yuǎn)程倉庫出現(xiàn)以下提示:

  1. # 沒有配置推送目標(biāo)
  2. fatal: No configured push destination.
  3. # 從命令行指定 URL,或使用配置遠(yuǎn)程存儲(chǔ)庫
  4. Either specify the URL from the command-line or configure a remote repository using
  5. # 然后使用遠(yuǎn)程名稱推送
  6. and then push using the remote name

從命令行指定 URL

  1. # 命令格式
  2. git push <url> <branch>
  3. # 使用示例
  4. git push git@gitee.com:holyking/test-1.git master

先配置一個(gè)遠(yuǎn)程存儲(chǔ)庫,然后使用遠(yuǎn)程名稱推送(其實(shí)就是給遠(yuǎn)程庫 url 起了一個(gè)比較短的名稱,然后使用短名稱推送)

  1. # 命令格式
  2. git remote add <name> <url>
  3. git push <name> <branch>
  4. # 使用示例
  5. git remote add origin git@gitee.com:holyking/test-1.git
  6. git push origin master

4. 修改遠(yuǎn)程庫配置


如果本地倉庫已經(jīng)關(guān)聯(lián)過遠(yuǎn)程倉庫,使用 git remote add 直接關(guān)聯(lián)新的遠(yuǎn)程庫時(shí)會(huì)報(bào)錯(cuò)

  1. fatal: remote origin already exists.

解決方案1: 先刪除以前的遠(yuǎn)程倉庫關(guān)聯(lián)關(guān)系,再關(guān)聯(lián)新的遠(yuǎn)程倉庫

  1. git remote rm origin
  2. git remote add origin https://gitee.com/holyking/test-3.git

解決方案2: 使用 git remote set-url origin 直接修改關(guān)聯(lián)的遠(yuǎn)程倉庫

  1. # 使用前提: 遠(yuǎn)程名稱 origin 已存在
  2. git remote set-url origin https://gitee.com/holyking/test-3.git

修改關(guān)聯(lián)的遠(yuǎn)程倉庫總結(jié):

  1. # 方案1: 先刪除遠(yuǎn)程庫配置,再重新添加
  2. git remote rm <name>
  3. git remote add <name> <url>
  4. # 方案2: 使用 set-url 直接修改
  5. git remote set-url <name> <url>

5. 刪除遠(yuǎn)程庫配置


刪除遠(yuǎn)程庫配置

  1. # 命令格式
  2. git remote remove <name>
  3. # 使用示例
  4. git remote remove origin

經(jīng)測試 rm、remove 的作用是一樣的,所以也可以使用下面用法

  1. git remote rm <name>

6. 重命名遠(yuǎn)程庫配置


  1. # 命令格式
  2. git remote rename <old> <new>
  3. # 使用示例
  4. git remote rename origin liang

7. 推送到多個(gè)倉庫


添加遠(yuǎn)程庫配置(我們要將代碼推送到 gitee 和 github 兩個(gè)平臺(tái))

  1. # gitee
  2. git remote add gitee git@gitee.com:holyking/test-1.git
  3. # github
  4. git remote add github git@github.com:shinyboys/test-2.git

將代碼推送 gitee 和 github

  1. git push gitee master && git push github master

推送到遠(yuǎn)程庫時(shí),因?yàn)槊钣悬c(diǎn)長,我們可以定義一個(gè)系統(tǒng)配置別名,進(jìn)而簡化推送命令

  1. # mac 用戶可以在 ~/.zshrc 文件中增加以下配置,通過別名 gp 推送
  2. alias gp="git push gitee master && git push github master"

8. 查看遠(yuǎn)程庫配置


不帶參數(shù)時(shí),就是列出已存在的遠(yuǎn)程分支

  1. git remote

-v,--verbose 查看所有遠(yuǎn)程倉庫配置

  1. git remote -v

9. 查看遠(yuǎn)程庫信息以及和本地庫的關(guān)系


這個(gè)命令會(huì)聯(lián)網(wǎng)去查詢遠(yuǎn)程庫信息,并且會(huì)列出和本地庫的關(guān)系

  1. # 命令格式
  2. git remote show <name>
  3. # 使用示例
  4. git remote show origin

標(biāo)簽: git