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

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

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

  1. 如果本地有一个版本库的话就不能用git clone了 可以切换到仓库目录,执行远程仓库关联命令。
  2. 如果本地没有仓库,可以git clone [email protected]:your name/repository name.git,然后切换到仓库目录,这时就不需要关联仓库了。

1、SSH Key的配置:

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

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

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

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

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

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

  6. 测试ssh key是否成功: git bash中测试是否能够连接ssh -T [email protected] 如果出现You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

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

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

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

例如: git bash中执行 git clone [email protected]:xxxxx/yyy.git 然后切换到仓库目录,这时就不需要手动关联仓库了。

3、将本地的已有项目关联到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 [email protected]: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  
     
     If you wish to set tracking information for this branch you can do so with:
     
     git branch --set-upstream-to=origin/ master
    复制代码

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

    git pull origin master --allow-unrelated-histories

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

你可能感兴趣的:(本地Git仓库与远程仓库关联的方法)