[TOC] #### 1. 使用場(chǎng)景 --- 看完本文內(nèi)容可解決以下問題: 1、本地代碼需要上傳到遠(yuǎn)程倉(cāng)庫(kù)上時(shí) 2、本地已有倉(cāng)庫(kù),需要將本地倉(cāng)庫(kù)推送到遠(yuǎn)程倉(cāng)庫(kù)上時(shí) 3、本地已有倉(cāng)庫(kù),并且已關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù),需要更改關(guān)聯(lián)的遠(yuǎn)程庫(kù)時(shí) #### 2. 推送代碼流水線 --- ``` # 第一步: 創(chuàng)建本地庫(kù)并完成初始提交,也就是讓本地庫(kù)有提交記錄 git init git add . git commit -m "first commit" # 第二步: 添加一個(gè)遠(yuǎn)程倉(cāng)庫(kù)配置 git remote add origin https://gitee.com/holyking/test-1.git # 第三步: 設(shè)置上游分支,并且使用遠(yuǎn)程名稱推送到遠(yuǎn)程庫(kù) git push -u origin master ``` #### 3. 添加遠(yuǎn)程庫(kù)配置 ---- 首次將代碼推送到遠(yuǎn)程倉(cāng)庫(kù)出現(xiàn)以下提示: ![](https://img.itqaq.com/art/content/5740bd4ec8e4377449f5f607c945c1cf.png) ``` # 沒有配置推送目標(biāo) fatal: No configured push destination. # 從命令行指定 URL,或使用配置遠(yuǎn)程存儲(chǔ)庫(kù) Either specify the URL from the command-line or configure a remote repository using # 然后使用遠(yuǎn)程名稱推送 and then push using the remote name ``` 從命令行指定 URL ``` # 命令格式 git push <url> <branch> # 使用示例 git push git@gitee.com:holyking/test-1.git master ``` 先配置一個(gè)遠(yuǎn)程存儲(chǔ)庫(kù),然后使用遠(yuǎn)程名稱推送(其實(shí)就是給遠(yuǎn)程庫(kù) url 起了一個(gè)比較短的名稱,然后使用短名稱推送) ``` # 命令格式 git remote add <name> <url> git push <name> <branch> # 使用示例 git remote add origin git@gitee.com:holyking/test-1.git git push origin master ``` #### 4. 修改遠(yuǎn)程庫(kù)配置 --- **如果本地倉(cāng)庫(kù)已經(jīng)關(guān)聯(lián)過遠(yuǎn)程倉(cāng)庫(kù),使用 `git remote add` 直接關(guān)聯(lián)新的遠(yuǎn)程庫(kù)時(shí)會(huì)報(bào)錯(cuò)** ``` fatal: remote origin already exists. ``` ![](https://img.itqaq.com/art/content/a51ce482c195755a87e6cb9a499c0dd3.jpg) **解決方案1: 先刪除以前的遠(yuǎn)程倉(cāng)庫(kù)關(guān)聯(lián)關(guān)系,再關(guān)聯(lián)新的遠(yuǎn)程倉(cāng)庫(kù)** ```bash git remote rm origin git remote add origin https://gitee.com/holyking/test-3.git ``` ![](https://img.itqaq.com/art/content/07d0d335b527132c5365873b3c1d99c3.jpg) **解決方案2: 使用 git remote set-url origin 直接修改關(guān)聯(lián)的遠(yuǎn)程倉(cāng)庫(kù)** ```bash # 使用前提: 遠(yuǎn)程名稱 origin 已存在 git remote set-url origin https://gitee.com/holyking/test-3.git ``` **修改關(guān)聯(lián)的遠(yuǎn)程倉(cāng)庫(kù)總結(jié):** ``` # 方案1: 先刪除遠(yuǎn)程庫(kù)配置,再重新添加 git remote rm <name> git remote add <name> <url> # 方案2: 使用 set-url 直接修改 git remote set-url <name> <url> ``` #### 5. 刪除遠(yuǎn)程庫(kù)配置 ---- 刪除遠(yuǎn)程庫(kù)配置 ``` # 命令格式 git remote remove <name> # 使用示例 git remote remove origin ``` 經(jīng)測(cè)試 `rm`、`remove` 的作用是一樣的,所以也可以使用下面用法 ``` git remote rm <name> ``` #### 6. 重命名遠(yuǎn)程庫(kù)配置 --- ``` # 命令格式 git remote rename <old> <new> # 使用示例 git remote rename origin liang ``` #### 7. 推送到多個(gè)倉(cāng)庫(kù) --- 添加遠(yuǎn)程庫(kù)配置(我們要將代碼推送到 gitee 和 github 兩個(gè)平臺(tái)) ``` # gitee git remote add gitee git@gitee.com:holyking/test-1.git # github git remote add github git@github.com:shinyboys/test-2.git ``` 將代碼推送 gitee 和 github ``` git push gitee master && git push github master ``` 推送到遠(yuǎn)程庫(kù)時(shí),因?yàn)槊钣悬c(diǎn)長(zhǎng),我們可以定義一個(gè)系統(tǒng)配置別名,進(jìn)而簡(jiǎn)化推送命令 ``` # mac 用戶可以在 ~/.zshrc 文件中增加以下配置,通過別名 gp 推送 alias gp="git push gitee master && git push github master" ``` #### 8. 查看遠(yuǎn)程庫(kù)配置 --- 不帶參數(shù)時(shí),就是列出已存在的遠(yuǎn)程分支 ``` git remote ``` `-v,--verbose` 查看所有遠(yuǎn)程倉(cāng)庫(kù)配置 ``` git remote -v ``` #### 9. 查看遠(yuǎn)程庫(kù)信息以及和本地庫(kù)的關(guān)系 --- 這個(gè)命令會(huì)聯(lián)網(wǎng)去查詢遠(yuǎn)程庫(kù)信息,并且會(huì)列出和本地庫(kù)的關(guān)系 ``` # 命令格式 git remote show <name> # 使用示例 git remote show origin ```