Git总结(2)—GitHub的使用&相关git命令&公钥私钥

来源:互联网 发布:excel恢复昨天的数据 编辑:程序博客网 时间:2024/05/20 07:14
  1. GitHub与本地Git仓库间建立SSH
  2. GitHub上创建repository & remote add/remove & push & clone
  3. 参与开源项目fork&pull request
  4. 加密、认证、公钥、私钥的概念

  • 1.GitHub与本地Git仓库间建立SSH
    • ssh-keygen -t rsa -C “Your Email”:默认在用户主目录里生成 .ssh目录,其中的id_rsa为私钥,id_rsa.pub为公钥

    • 在GitHub->Settings->SSH and GPG keys中 New SSH key出现Title和Key,Title随意,Key中放入公钥id_rsa.pub的内容
  • 2.GitHub上创建repository & remote add/remove & push & clone

    • New repository出现上图,填入Repository name和Description就好了,当然也可以Initiallize with a README创建好后,可以create a new 也可以push an existing,相关的命令都有提示;
    • git remote add origin https://github.com/用户名/repo-name.git:关联本地创库和GitHub新创建的repository;这种是使用https协议不是ssh
    • git remote add origin git@github.com:用户名/repo-name.git:使用ssh连接github
    • git remote remove origin:origin是远程库的名字,看.git/config,会发现原先https或ssh的连接没了
      [branch "master"]
      [remote "origin"]
          url = git@github.com:username/repo-name.git
          fetch = +refs/heads/*:refs/remotes/origin/*
      [branch "master"]
          remote = origin
          merge = refs/heads/master
    • git push -u origin master:把当前分支master推送到远程,-u会把本地master和远程master关联,以后的推送可以,git push origin master
    • ssh连接,第一次使用Git的clone或push命令连接GitHub时,会得到以下警告:
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.RSA key fingerprint is xx.xx.xx.xx.xx.Are you sure you want to continue connecting (yes/no)? 可以直接yes
原因是:SSH连接第一次验证GitHub服务器的Key时,需要确认GitHub的Key指纹信息是否真的来自GitHub服务器
https://help.github.com/articles/what-are-github-s-ssh-key-fingerprints/ 这个链接可以对照fingerprint是否正确
    • git clone 地址/Username/repo-name.git:地址可以是https的,也可以是ssh的,后者比较快
  • 3.参与开源项目fork&pull request
    • fork一个开源项目:可以在GitHub上克隆一个自己的仓库,这样clone到本地的仓库修改后才能push
    • pull request给开源项目的官方库,可以提交你的修改,接不接受就看他们了
  • 4.加密、认证、公钥、私钥的概念:
    • 以下两个链接可以搞清楚:加密、认证、公钥、私钥:
    • 图片故事版
    • 规范描述版



1 0