Git是一个分布式版本控制系统,同一个仓库可以部分布到不同的机器上,并没有主次之分。
一台电脑也可以克隆多个Git仓库,但不建议这么玩,没意义。
部署创建远程仓库时可以自己搭建一台Git服务器,但如果以学习为目的的话这样做很麻烦,我们可以用GIthub作为我们的远程仓库,Github提供Git仓库托管服务,只要注册一个免费账户,就可以免费获得git仓库。
1.创建新仓库 New repository:
按照步骤填写即可,2.仓库名称 3.描述 4.公开 5.项目说明文件
2.创建SSH Key
项目仓库的修改和提交需要使用SSH协议来进行,使用http是只读的,Github就是用公钥-私钥验证机制。
在用户主目录下,看看有没有.ssh目录,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步,如果没有打开Git Bash。
配置全局的name和email,这里是你的github或bitbucket的name和email。
$ git config --global user.name "xxx"
$ git config --global user.email "xxx"
$ ssh-keygen -t rsa -C "xxx" 生成key,里面是github账户的邮箱,然后一路回车,使用默认值即可。会在用户主目录下生成.ssh文件夹,里面包含id_rsa和id_rsa.pub两个文件,这俩就是SSH的密钥,id_rsa是私钥,id_rsa.pub是公钥。
把公钥添加到github账户上
添加公钥是因为Github需要识别出你推送的提交确实是你送的,而不是别人冒充的,Git支持SSH协议,所以Github只要知道了你的公钥,就可以确认只有你自己才能推送。
Github可以添加多个key,假定你有若干电脑,只要把每台电脑的key都添加到Github,就可以在每台电脑上往Github推送了。
$ ssh -T git@github.com 查看是否与github连接成功。
Github上我们有仓库了,我们可以把本地仓库跟Github仓库关联上,把本地仓库内容推送到Github仓库上去。
3.关联Github仓库:
$ git remote add origin git@github.com:xxx(github用户名)/xxx.git(github仓库名),这句命令必须在本地仓库的目录下执行,远程库的名字就是origin,这是Git默认的叫法,可以改成别的。
这样本地仓库跟远程仓库就关联上了,下一步就是把本地仓库内容推送到远程仓库。
如果提示出错信息:fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:xxx/xxx.git就不会报错了!
4.推送内容:
$ git push -u origin master 把所有的内容推送到远程库
可能会出现 error: failed to push some refs to 'git@github.com:skymarginal/A.git' 这种错误,是因为github中的README.md文件不在本地代码目录中,需要通过以下命令进行代码合并 $ git pull --rebase origin master,这样你的本地仓库就多了README.md文件,再执行推送命令就可以了。
由于新建的远程库是空的,所以第一次推送master分支时,加上了-u参数,Gitb不但会把本地的master分支内容推送到远程的master分支,还会把本地master分支和远程master分支关联起来,在以后的推送或者拉取时就可以简化命令 : $ git push origin master
第一次连接时可能会出现警告,这是因为Git使用SSH连接,而SSH连接在第一次验证Github服务器的ke'y时,需要你确认Github的key的指纹信息是否来自GIthub服务器,输入yes回车即可。
网友评论