Skip to content

远程仓库

传统做法是电子邮件 git 成果,邮箱地址成为了节点,人成了节点。代码托管平台如 GitHub 、Gitee 崛起,成为了新的节点。

在 GitHub 创建账号,存放 SSH 公钥,创建空仓库,推送到远程仓库 origin 并新建远程分支 master 。

git remote add origin git@github.com:yourname/mygit.git

git push -u origin master

其中,-u 是 --set-upstream 的简写。

查看远程仓库,简要。

git remote
origin

查看远程仓库, fetch 和 push 。

git remote -v
origin	git@github.com:yourname/mygit.git (fetch)
origin	git@github.com:yourname/mygit.git (push)

查看某一远程仓库。

git remote show origin
* remote origin
  Fetch URL: git@github.com:yourname/mygit.git
  Push  URL: git@gihub.com:yourname/mygit.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

本地仓库和远程仓库关联后,同步,可以省略远程仓库名称。

远程同步到本地。

git pull

其一,没有要同步的。

Already up to date.

其二,有要同步的。

From github.com:yourname/mygit
   *******..*******  master     -> origin/master
Updating *******..*******
Fast-forward

本地同步到远程。

git push

其一,没有要同步的。

Everything up-to-date.

其二,有要同步的。

Enumerating objects: *, done.
Counting objects: 100%(*/*), done.

Delta compression: using up to * threads
Compressing objects: 100% (*/*), done.
Writing objects: 100% (*/*), * bytes | * KiB/s, done.
Total * (delta *), reused * (delta *), pack-reused * (from *)

remote: Resolving deltas: 100% (*/*), completed with * local objects.
To github.com:yourname/mygit
   *******..******* master -> master

其中 git pull = git fetch + git merge 。

新增远程仓库,命名 gitee 。多个远程仓库,且名称非默认 origin ,同步时要显式输入远程仓库名称和远程分支名称。

git remote add gitee git@gitee.com:yourname/mygit.git

git push -u gitee master

git pull gitee master

git push gitee master

删除远程仓库。

git remote rm gitee

本地没有代码仓库,可以从远程仓库克隆。克隆多个仓库,就可以在一个分支体验并行开发和冲突。

git clone git@github.com:yourname/mygit.git

git clone git@gitee.com:yourname/mygit.git mygit-new

联系 math@baima.site