git于github那些不得不说的秘密

问题源自于....闲时无聊在公司写啦个项目,想经过git上传到github上,而后回家直接从github上拉下来接着写,经过不一样电脑关联同一个github仓库,同一台电脑多个本地项目关联到github上。css

step:nginx

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

 

SSH Key的配置:github

1.Windows下打开Git Bash,建立SSH Key,按提示输入密码,能够不填密码一路回车docker

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

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

 

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

$ start ~/.ssh/id_rsa.pub

 

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

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

 

远程库与本地库之间的操做:ide

1.从远程克隆一份到本地能够经过git clone

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

$ git clone git@github.com:nanfei9330/xx.git

 

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

$ git remote add origin git@github.com:nanfei9330/learngit.git

请替换为本身仓库的的SSH

 

3.推送master分支的全部内容

$ git push -u origin master

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

推送成功后就能够看到远程和本地的内容如出一辙,下次只要本地做了提交,就能够经过命令:

$ git push origin master

把最新内容推送到Github

 

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

本地建立文本test.txt,运行:

$ git add text.txt
$ git commit -m"添加新文件"
$ git push origin master

而后就能够在github看到同步了

 

step:

  • 新建一个远程的仓库(空的)

新建一个远程仓库
  • 设置远程仓库的名字,并建立

设置仓库名

切记:若是咱们在建立远程仓库的时候添加了README和.ignore等文件,咱们在后面关联仓库后,须要先执行pull操做

  • 在本地建立一个本地的文件夹


    在本地建立一个文件夹
  • 利用终端进入当前的文件夹目录

    cd /Users/Sunshine/Documents/大神班/练习/0721/helloTest

    用终端进入这个文件夹
  • 初始化这个本地的文件夹为一个Git能够管理的仓库
    git init
    注意:Git会自动为咱们建立惟一一个master分支
    咱们可以发如今当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,否则改乱了,就把Git仓库给破坏了。

初始化本地的仓库
  • 将本地的仓库和远程的仓库进行关联
    git remote add origin git@github.com:YotrolZ/helloTest.git
    备注:origin就是咱们的远程库的名字,这是Git默认的叫法,也能够改为别的;
    git@github.com:YotrolZ/helloTest.git是咱们远程仓库的路径(这里咱们使用的github)

将本地的仓库与远程的仓库进行关联
  • 这样咱们就能够开始在本地的文件夹中作事了,这里咱们先建立一个main.m文件

    • 新建文件

      touch main.m
    • 将新建的main.m文件添加到仓库(这样git就会追踪这个文件)

      git add main.m
    • 把文件提交到仓库

      git commit -m "新建了一个man.m文件"

在本地仓库新建一个main.m文件
  • 把本地库的内容推送到远程
    git push -u origin master
    • 备注:origin:远程仓库名字; master:分支
    • 注意:咱们第一次push的时候,加上-u参数,Git就会把本地的master分支和远程的master分支进行关联起来,咱们之后的push操做就再也不须要加上-u参数了

push到远程的仓库
  • 咱们用浏览器进入远程仓库中查看,发现远程仓库中也出现了mian.m文件

    远程仓库中也有了一个main.m文件
  • 假如某天咱们又对mian.m文件进行了修改(这里咱们在main.m文件里面添加了一句"hello world")

    修改main.m文件
  • 咱们能够利用git status查看状态

    查看状态
  • 将文件添加到Git版本库,实际上就是把文件修改添加到暂存区

    git add main.m
  • 提交修改,实际上就是把暂存区的全部内容提交到当前分支


    提交修改
  • 再次查看状态
    git status

    再次查看状态
  • 把本地当前分支的最新修改推送至GitHub上的远程仓库
    git push origin master

    将修改后的main.m文件push到远程仓库
  • 利用浏览器在远程仓库查看,咱们看到已经将本地上的修改推送到远程仓库了

    在远程仓库中查看

总结

    • 初始化一个本地Git仓库(把本地的文件夹初始化成一个Git能够管理的版本库)

      git init

      注意:需让命令行终端处在当前文件目录

    • 把文件添加到本地版本库

      git add 文件名
    • 把文件修改提交到仓库

      git commit -m "注释"
    • 关联一个远程仓库

      git remote add origin git@github.com:YotrolZ/helloTest.git
    • 将最新的修改推送到远程仓库

      git push -u origin master
      • 注意:
        1.每次push前要先进行git add 文件名 和 git commit -m "注释"
        2.在第一次进行push时,咱们加上-u参数,后期push时就不用再加-u参数

 

 

     step:

         在此记录下来对本身有用的部分,以便往后查看,若有雷同纯属巧合!!!

相关文章
相关标签/搜索