一、创建仓库
1. 在GitHub或在Gitee上新建仓库
在 git代码管理(1)——克隆github项目到本地仓库及上传本地仓库文件到github远程仓库 中介绍了:https://www.cnblogs.com/cloudhere/p/12912176.html
2. 在本地建库
2.1 在本地新建一个空目录,在新建空目录中进入git bash
2.2 初始化为git可以管理的仓库
git init
二、本地仓库与远程仓库同步
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。
1. 在GitHub或在Gitee上新建仓库
目前,在GitHub上的这个repotest
仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
2. 在本地添加远程仓库关联
2.1 根据GitHub的提示,在本地的repotest仓库下运行命令:
$ git remote add origin https://github.com/Asteven-zn/repotest.git
** 请千万注意,把上面的Asteven-zn替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。
** 添加后,远程库的名字就是origin
,这是Git默认的叫法,也可以改成别的,但是origin
这个名字一看就知道是远程库。
2.2 在本地库中添加个文件
2.3 把本地库的所有内容推送到远程库上:
$ ls newfile.txt $ git add . $ git commit -m "repotest push file" [master (root-commit) 31e61e7] repotest push file 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 newfile.txt $ git push -u origin master Logon failed, use ctrl+c to cancel basic credential prompt. Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), 217 bytes | 217.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 To https://github.com/Asteven-zn/repotest.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.
** 把本地库的内容推送到远程,用git push
命令,实际上是把当前分支master
推送到远程。
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
2.4 查看github远程仓库比对文件是否同步:
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
把本地master
分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
3. 删除远程仓库
如果添加的时候地址写错了,或者就是想删除远程库,可以用git remote rm <name>
命令。使用前,建议先用git remote -v
查看远程库信息:
$ git remote -v origin https://github.com/Asteven-zn/repotest.git (fetch) origin https://github.com/Asteven-zn/repotest.git (push)
然后,根据名字删除,比如删除origin
:
$ git remote rm origin
此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。