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

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

step:

如果你已经在本地创建了一个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 

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 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:

         在此记录下来对自己有用的部分,以便日后查看,如有雷同纯属巧合!!!

posted @ 2017-05-10 22:29  落地蜻蜓  阅读(162)  评论(0)    收藏  举报