显示已经添加的远程仓库:
❯ git remote
origin
查看远程仓库的 URL:
❯ git remote -v
origin git@github.com:icexmoon/learn-git.git (fetch)
origin git@github.com:icexmoon/learn-git.git (push)
添加远程仓库
虽然不常见,但可以为 Git 管理的项目添加多个远程仓库,比如:
git remote add gitee git@gitee.com:icexmoon/learn-git.git
远程仓库标识可以是任意内容,不过通过 clone 等命令创建的项目,Git 会默认使用 origin 作为远程仓库标识。
新添加的仓库缺少本地的远程分支副本:
❯ git branch -a
dev
* main
release/260126
remotes/origin/HEAD -> origin/main
remotes/origin/dev
remotes/origin/main
remotes/origin/release/260126
需要从远程仓库拉取副本:
git fetch gitee
❯ git branch -a
dev
* main
release/260126
remotes/gitee/master
remotes/origin/HEAD -> origin/main
remotes/origin/dev
remotes/origin/main
remotes/origin/release/260126
现在就可以利用这个远程分支副本进行分支合并/推送操作。
查看远程仓库
❯ git remote show origin
* remote origin
Fetch URL: git@github.com:icexmoon/learn-git.git
Push URL: git@github.com:icexmoon/learn-git.git
HEAD branch: main
# 远程仓库上的分支
Remote branches:
dev tracked
main tracked
release/260126 tracked
# 使用 git pull 命令时从哪些远程仓库分支拉取并合并到本地哪些分支
Local branches configured for 'git pull':
dev merges with remote dev
main merges with remote main
release/260126 merges with remote release/260126
# 使用 git push 命令时从哪些本地分支推送到哪些远程分支
Local refs configured for 'git push':
dev pushes to dev (up to date)
main pushes to main (fast-forwardable)
release/260126 pushes to release/260126 (up to date)
重命名/删除远程仓库标识
可以重命名远程仓库标识:
❯ git remote rename gitee gitee-server
Renaming remote references: 100% (1/1), done.
❯ git remote
gitee-server
origin
修改远程仓库标识后,对应的远程分支本地副本名称也会改变:
❯ git branch -a
dev
* main
release/260126
remotes/gitee-server/master
remotes/origin/HEAD -> origin/main
remotes/origin/dev
remotes/origin/main
remotes/origin/release/260126
如果不再需要远程仓库,可以:
git remote remove gitee-server
关联本地分支和远程分支
通常我们通过 clone 创建的本地仓库,git 会自动关联本地分支和远程分支,但如果是通过其他的方式创建的本地分支(比如从另一个远程仓库拉取的本地分支)。我们就需要手动关联本地分支和远程分支。
首先按照前面说的使用git remote add添加远程仓库,然后关联分支:
git branch -u remote-git-server main local-branch
这里将本地分支local-branch与远程仓库remote-git-server上的分支main进行了关联。
可以用以下命令查看当前分支的关联情况:
git branch -vv
之后就可以方便地使用git pull或git push拉取或推送代码。
除了上面的方式,还可以在推送代码时进行关联并推送代码:
git push -u remote-git-server local-branch:main
The End.
参考资料

文章评论