远程仓库是指托管在 Internet,或其他网络中的项目的版本库。一个人可以有多个远程仓库,可设置读 、写权限。在与他人协作涉及到管理远程 仓库、推送、拉取数据。
查看远程仓库 git remote
git remote
列出所指定的每一个远程服务器的名称。 git clone
克隆的 仓库服务器 默认名称origin
。选项-v
会 显示需要读写 远程仓库所使用的 Git 保存的简写名称和对应 URL。
1 | git remote -v |
git remote show GitTest
,查看某个远程 仓库的更多信息.
- 列出远程仓库 URL 与跟踪分支信息.
- 告诉正处于 master 分支
- 运行
git pull
,抓取所有的 远程引用,然后将远程 master 分支合并到本地 master 分支
1 | git remote show GitTest |
添加远程仓库 git remote add <shortaame> <url>
git remorte add <shortname> <url>
,添加一个新的远程仓库,同时 指定一个可引用的简写.以后就可以在命令中使用该shortname
来代替整个 URL。例如 git fetch GitTest
:拉取远程仓库 GitTest 的数据 git push GitTest master
:将本地 master 分支推送到 GitTest 远程仓库
从远程仓库抓取与拉取 git fetch [remote-name]
git fetch [remote-name]
,此命令访问远程服务器,拉取新 数据到 本地仓库,但不会自动合并或修改当前工作区,需要手动将其合入工作区.git clone
会自动设置本地 master 分支跟踪 所克隆的远程仓库的 master 分支。git pull
通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。
执行
git fetch
命令后,此时比较本地仓库与远端仓库更新本地的远端分支
git fetch <shortname>
1
2
3
4
5
6
7
8git fetch
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
From https://github.com/Better-Jiang/GitTest
d4b6ca5..22ab9e0 master -> GitTest/master本地与远程的差集 (显示远程有,而本地没有的 commit 提交信息)
git log master ..GitTest/master
1
2
3
4
5
6
7
8
9
10
11
12git log master ..GitTest/master
commit 22ab9e044bc87a6e245bba775ae2dffd6616721a (GitTest/master)
Author: 江 <1433539514@qq.com>
Date: Wed Feb 20 19:13:18 2019 +0800
Update c.md
commit 9451835f337bc5beb3106b7326c8b9522b4208c1
Author: 江 <1433539514@qq.com>
Date: Wed Feb 20 19:12:51 2019 +0800
Create d.md统计文件改动
git diff <local branch> <remote>/<remote branch>
1
2
3
4
5git diff --stat master GitTest/master
c.md | 3 +--
d.md | 1 +
2 files changed, 2 insertions(+), 2 deletions(-)
推送到远程仓库 git push [remote-name] [branch-name]
git push GitTest master
,将本地的 master 分支推送到 GitTest 服务器上
远程仓库 移除 与 重命名
- 重命名:
git remote rename <old-remote-name> <new-remote-name>
- 移除:
git remote rm <old-remote-name>