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