Git--远程仓库操作

在了解之前,先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:


第一步: 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:



这里写图片描述


id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。


第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“New SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。


这里写图片描述




如何添加远程库?



现在的情景是:我们已经在本地创建了一个Git仓库后,又想在github创建一个Git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。


首先,登录github上,然后在右上角找到“new repository”创建一个新的仓库。如下:


这里写图片描述


在Repository name填入testgit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:


这里写图片描述


目前,在GitHub上的这个testgit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。


现在,我们根据GitHub的提示,在本地的testgit仓库下运行命令:


git remote add origin https://github.com/tugenhua0707/testgit.git(复制你自己的这个git仓库的url)
这句命令的大概操作就是将后面的url添加到origin中 以后不修改的话origin就相当于你的url


所有的如下:


这里写图片描述


把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。


由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来, 在以后的推送或者拉取时就可以简化命令。推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了,上面的要输入github的用 户名和密码


当你操作多了之后会发现每次都要输入密码很麻烦。
那么有什么办法在push时可以不用每次都输入用户名密码呢:
这里就不详细写出了


详情请参考:http://www.cnblogs.com/ballwql/p/3462104.html


这时候你可以刷新你自己的github远程仓库发现本地已经上传


从现在起,只要本地作了提交,就可以通过如下命令:


git push origin master


把本地master分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了。


但你有事发现当你push时他会报错
$ git push -u origin master
To git@github.com:**/Demo.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ‘git@github.com:**/Demo.git’
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. ‘git pull’)
hint: before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push –help’ for details.


这是因为远程repository和我本地的repository冲突导致的,也就是你网页版的github仓库与你本地有除了你commit的差异,这样就产生了版本冲突的问题。
有如下几种解决方法:


1.使用强制push的方法:

$ git push -u origin master -f

这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

2.push前先将远程repository修改pull下来
pull操作就是将你网页上的github的差异同步到本地

$ git pull origin master

$ git push -u origin master

3.若不想merge远程和本地修改,可以先创建新的分支:

$ git branch [name]

然后push

$ git push -u origin [name]




如何从远程库克隆?



上面我们了解了先有本地库,后有远程库时候,如何关联远程库。


现在我们想,假如远程库有新的内容了,我想克隆到本地来 如何克隆呢?


其实github是开源的仓库,这里你可以随便down一个开源的仓库下来


这里写图片描述


这是我写的一个网页 如果我想把它下载到本地怎么办


在Clone with HTTPS 里有一个url 这是你这个仓库的专属url


如下图 git clone url就可以把你需要的东西下载下来


这里写图片描述


这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值