如果你已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,那就需要用到SSH Key,github拿到了你的公钥就会知道内容是你推送的。

SSH Key的配置:

1.Windows下打开Git Bash,创建SSH Key,按提示输入密码,可以不填密码一路回车

$ ssh-keygen -t rsa -C "注册邮箱"

然后用户主目录/.ssh/下有两个文件,id_rsa是私钥,id_rsa.pub是公钥

2.获取key,打开.ssh下的id_rsa.pub文件,里面的内容就是key的内容

$ start ~/.ssh/id_rsa.pub

3.登录GitHub,打开"SSH Keys"页面,快捷地址:https://github.com/settings/ssh

git 本地仓库 远程仓库 逻辑关系_git

4.测试ssh key是否成功,使用命令“ssh -T git@github.com”,如果出现You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

远程库与本地库之间的操作:

1.从远程克隆一份到本地可以通过git clone

Git支持HTTPS和SSH协议,SSH速度更快

$ git clone https://github.com/zs2018/yuancheng1.gitt

2.本地库关联远程库,在本地仓库目录运行命令:

$ git remote add origin https://github.com/zs2018/yuancheng1.git 请替换为自己仓库的的SSH

3.推送master分支的所有内容

$ git push -u origin master
第一次使用加上了-u参数,是推送内容并关联分支。

推送成功后就可以看到远程和本地的内容一模一样,下次只要本地作了提交,就可以通过命令:

$ git push origin master
把最新内容推送到Github

=实战一下吧======

首先 在本地 克隆下GitHub上的远程库链接地址 :
git clone https://github.com/zs2018/yuancheng1.git 还需要本地库和远程库相关联
git remote add origin https://github.com/zs2018/yuancheng1.git 本地创建文本test.txt,运行:
$ git add text.txt (或者用.也可以代替)
$ git commit -m"添加新文件"
$ git push origin master
弹出 填写账号和密码
然后就可以在github看到同步了

取回远程主机某个分支的更新,如

$ git pull origin master

在这个步骤中可能会出现的错误及解决办法:

1.在执行

$ git remote add origin git@github.com:zs2018/text.git

错误提示:fatal: remote origin already exists.

解决办法:

$ git remote rm origin

然后在执行:$ git remote add origin git@github.com:zs2018/text.git 就不会报错误了

  1. 在执行

$ git push origin master

错误提示:error:failed to push som refs to…

解决办法:

$ git pull origin master // 先把远程服务器github上面的文件拉下来,再push 上去。

Git分支的创建与合并

以dev分支为例子,分支的操作:

1.创建分支

$ git branch dev
创建并切换分支:

git checkout -b dev
2.查看分支,当前分支前面会标一个*号

$ git branch
3.切换分支

$ git checkout master
4.当前分支与dev分支合并

git merge dev
5.删除本地分支

$ git branch -d dev
6.发送分支到远程仓库

$ git push origin dev
7.删除远程分支

$ git push origin :dev
在dev分支上修改文件并不影响master分支的文件,直至他们合并,一般流程:创建->编辑->合并->删除

=尝试=====

#创建文件test.txt
$ git add test.txt
$ git commit -m"添加文件"
#创建并切换分支
$ git branch -b dev
#任意添加文字到test.txt
$ git add test.txt
$ git commit -m"添加文件"
#切换分支回master
$ git checkout master
#查看test.txt
$ git merge dev
#再查看test.txt