zoukankan      html  css  js  c++  java
  • 【Tools】Git使用

    一、SSH Key的作用

    你如果要将自己的项目通过Git放置到某个服务器上,那么首先必须生成一个SSH Key,这个Key有什么作用呢?首先你需要了解一下什么是SSH,这个可以参见博文http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html.我稍微总结一下:

    SSH是一种协议,目的是通过公钥加密进行安全网络传输。过程如下:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

    而我们知道,使用Git的时候,是手动在本地生成公钥的,然后在网页上登陆服务器(比如GitHub)将自己的公钥黏贴进去的,所以基本上第一步应该就省略了,只需要进行2)和3)即可。

    上面的博客中还提到一个中间人攻击,SSH是通过fingerprint来预防此类风险的,Git也实现了这个,因为我们在生成公钥的时候,就一起生成fingerprint,截图如下:

    通过本地生成自己的公钥,就可以实现公钥登陆。

    二、如何生成SSH KEY

    一行命令即可实现:

    1 ssh-keygen -t rsa -C "xian**@gmail.com"-f ~/.ssh/csser-github

    简单介绍下参数含义:

    -t 指定密钥类型,默认即 rsa ,可以省略
    -C 设置注释文字,比如你的邮箱(可以省略)
    -f 指定密钥文件存储文件名,会生成 csser-github 和 csser-github.pub 两个密钥文件,默认生成的文件就是在$HOME/.ssh文件夹下面

     回车后,遇到提示输入 yes 即可,剩下一路回车,密钥文件就在指定路径下生成了。然后将你的公钥黏贴到GitHub上即可(具体操作网上很多)。

    三、初始化

    1)创建本地文件夹(mkdir),或者进入已经存在的项目文件夹(cd),执行命令:git init(注意,执行这条命令的时候你一定是在这个你要git的文件夹里面)

    2)在这个文件夹下面的文件,你可以通过使用命令:git add <filename>逐项进行添加,也可以使用命令:git add *一次全部添加;

    3)添加到本地缓存:Git在本地有一个缓存(index)对修改变动进行缓存,使用命令:git commit -m "注释"这个命令即可将变化提交到缓存区;

    4)push到服务器:提交到本地缓存还没有完成整个管理,我们需要将变化提交到服务器,这样别人才能通过pull命令获取你的变化。首先,我们可以为我们的远程服务器添加一个别名,这样子就不需要每次都输入仓库的具体地址。

    1 $ git remote add origin git@github.com:henllyee/Test.git

    orgin就是别名,后面跟的就是你的远程仓库,这个当你在Github上找到的。

    下面使用一条命令进行push:

    1 git push -u origin master

    这里表示将变化提交到orgin仓库的master分支。

  • 相关阅读:
    Leetcode(680) ;验证回文字符串 Ⅱ
    mysql常用操作语句
    组合索引问题
    php生成一维码以及保存-转载
    php后台实现页面跳转的方法-转载
    php操作表格(写)
    虚拟机复制后上网冲突的问题
    centos下安装nginx(转载)
    虚拟机与宿主机可以互相ping通,但是外网不能
    防火墙设置:虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)
  • 原文地址:https://www.cnblogs.com/lqminn/p/2963218.html
Copyright © 2011-2022 走看看