本地Git仓库与远程仓库关联的方法

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

git本地仓库关联远程仓库(两种方法):github

  1. 若是本地有一个版本库的话就不能用git clone了 能够切换到仓库目录,执行远程仓库关联命令。
  2. 若是本地没有仓库,能够git clone git@github.com:your name/repository name.git,而后切换到仓库目录,这时就不须要关联仓库了。

一、SSH Key的配置:

  1. 检查你的电脑中用户主目录中(C:\Users\Administrator\.ssh)是否有密匙对文件id_rsaid_rsa.pubshell

  2. 没有的话,git bash中执行如下命令建立密匙对,按提示输入密码,能够不填密码一路回车 : ssh-keygen -t rsa -b 4096 -C "你的git中设置的邮箱"。 而后用户主目录/.ssh/下有两个文件,id_rsa是私钥,id_rsa.pub是公钥bash

  3. 检查你的ssh-agent是不是活跃的 eval "$(ssh-agent -s)"ssh

  4. 将私匙添加到 ssh-add ~/.ssh/id_rsaide

  5. 而后将公匙id_rsa.pub文件中的内容复制后添加到git网站中,如github测试

    登陆GitHub,打开"SSH Keys"页面,快捷地址:github.com/settings/ss…网站

  6. 测试ssh key是否成功: git bash中测试是否可以链接ssh -T git@github.com 若是出现You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。ui

二、将远程仓库的代码clone到本地仓库

从远程克隆一份到本地能够经过git clonethis

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

例如: git bash中执行 git clone git@github.com:xxxxx/yyy.git 而后切换到仓库目录,这时就不须要手动关联仓库了。

三、将本地的已有项目关联到github上的新的项目上

  1. 在github上建立新仓库(create new repository) 填入仓库名字(最好与本地项目仓库的名字一致,不能和已有仓库名字相同)、描述、权限)、选择初始化的时候是否建立README文件(Markdown格式)、是否添加gitignore文件、是否添加版权(通常是选 GNU General Public License 或者 Apache License,关于这两个协议,你们能够去网上搜一下),而后点击下面的 Create repository就完成了远程仓库建立

  2. 将本地仓库和远程仓库关联

$ echo # repository name>> README.md // 建立 README.md文件,并将# repository name 写入到文件 
$ git init // 初始化一个本地Git仓库(把本地的文件夹初始化成一个Git能够管理的版本库)
注意:需让命令行终端处在当前文件目录下
$ git add README.md // 把文件添加到本地版本库
$ git commit -m "first commit" // 把文件修改提交到仓库
$ git remote add origin git@github.com:your name/repository name.git // 将本地仓库和你本身的远程仓库关联起来,origin是仓库的名字
$ git pull origin master // 先将关联后的github仓库中的代码pull下来,
$ git push -u origin master // 将最新的修改推送到远程仓库 将本地仓库的文件推送到远程仓库,可能你的本地项目关联着几个仓库,
你能够根据仓库的名字git push origin master 将代码提交到不一样仓库中,能够指定分支,
第一次使用加上了-u参数,是推送内容并关联分支。
推送成功后就能够看到远程和本地的内容如出一辙,下次只要本地做了提交,就能够经过命令:
$ git push origin master 把最新内容推送到Github上关联的远程仓库中去。

复制代码

注意:

  1. 每次push前要先进行git add 文件名git commit -m "注释"

  2. 在第一次进行push时,咱们加上-u参数,后期push时就不用再加-u参数。

  3. 若是新建的远程库有文件(好比远程仓库里的LICENSE或者READ.ME文件),须要先 git pull ,可是会遇到

    See git-pull(1) for details.
     
     git pull <remote> <branch>
     
     If you wish to set tracking information for this branch you can do so with:
     
     git branch --set-upstream-to=origin/<branch> master
    复制代码

    解决方法:在git pull origin master后面跟上参数--allow-unrelated-histories

    git pull origin master --allow-unrelated-histories

    远程仓库有更新的话须要先pull下来、而后再push

相关文章
相关标签/搜索