学一学git,都什么年代了

    我是个傻逼程序员,会敲几行代码,但是实操安装和部署什么的很垃圾,而且有惰性。一大把年纪了,还没装过windows系统。就在今天,我突然想用一下git。咬着牙就开始学了一下。反正进步了一点,以后要都学新东西。

    我使用的是ubuntu,使用sudo apt-get install git装了一个git, 使用git --version来验证是否装成功。这里有个所谓的仓库(repository)概念,起始就是一个  .git 的文件夹里放了些东西(指定包含log记录,管理等)。这个 .git文件使用git init  来生成;也可以直接在git clone 网址 ,下载后的文件里面就有 .git文件夹。使用svn也是一样,仓库(repository)里是有个  .svn的文件夹的。

    然后想把本地仓库和github的远程绑定起来,网上一大堆。我就按葫芦画瓢的一步一步做。

   1)创建一个对称加密的公钥私钥对,用于本地使用 SSH 和github建立连接

        ssh-keygen    -t     rsa      -C       "你的github填写的邮箱"

       注: rsa是一种非对称加密方法; 命令后,一路 回车就好了,生成的文件在 ~/.ssh/id_ ras.pub 例如我的是  (/home/yp/.ssh/id_rsa.pub)。

    2)在自己的github账户里面,右上角  settings(设置)-->SSH and GPG keys -->(右上角)New SSH key--->title(随便填一个名字)-->把 ~/.ssh/id_ ras.pub里的内容拷贝到key里面。这样就实现了本地的公钥 给github。

    ssh和https很类似。https是服务器使用CA证书将自己的公钥给client,client使用服务器的公钥加密client的公钥+对称加密的私钥给服务器,而github很直接,不使用CA证书,直接手动添加Client的公钥。

    3)验证一下本地ubuntu能不能使用ssh连接上github,ssh -T git@github.com

         Hi mumianbaba! You've successfully authenticated, but GitHub does not provide shell access.

      这种打印出来了就说明,你验证成功了。ssh读取 ~/.ssh里的内容与github连接上了,只是github不提供shell操作而已。这里我们想到了谁提供shell操作啊,我们的ubuntu经常使用xshell进行ssh协议进行连接,进行交互。

  4)路通了就做git的工作

        git   config   --global user.name  "github登录的用户名"

        git    config   --global   user.email  "github登录用的邮箱"

       git clone 你仓库的网址(你点击clone or download的那个网址,选择ssh网址,而非https网址)

       git remote add origin 你仓库的网址

      然后你验证一下你添加远程仓库是否成功,git remote -v  如果没有显示下面的说明不成功(一定不要再linux和Windows的共享文件目录下干这些,会不成功的)

    origin    git@github.com:mumianbaba/001_rtmps.git (fetch)
    origin    git@github.com:mumianbaba/001_rtmps.git (push)

    git push -u origin master  指定origin为默认主机,以后push默认上传到origin上

   然后,你就修改一个文件Makefile

  git add -A     //将修改搞到缓存区

  git  commit   -m "modify the make file" -a  //提交一下子

  git log   //查看一下操作记录

  git push

  yp@ubuntu:001_rtmps$ git push
  Counting objects: 3, done.
  Delta compression using up to 4 threads.
  Compressing objects: 100% (3/3), done.
  Writing objects: 100% (3/3), 333 bytes | 0 bytes/s, done.
  Total 3 (delta 1), reused 0 (delta 0)
  remote: Resolving deltas: 100% (1/1), completed with 1 local object.
  To git@github.com:mumianbaba/001_rtmps.git
  b2050c1..b7cb5b1  master -> master

说明你就成功了。成功就这么简单。妈妈再也不用担心我跟不上潮流了。哈哈哈。

注意一下,在ubuntu的与windows的共享目录下是不成功的。

接下来就是自己去玩去了,https://www.cnblogs.com/schaepher/p/5561193.html很不错的贴子,我就是按照他的一步两步,似魔鬼的步伐,似爪牙,摩擦摩擦就成功了。

ssh工作原理http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html

 

git clone git@github.com:mumianbaba/libtelnet.git就可以下载一个东西了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值