zoukankan      html  css  js  c++  java
  • git 基础操作,公私钥认证/ssh公私钥登录

    一、登录公私钥和git公私钥

    1、服务器使用公钥,本地使用私钥;

    2、ssh公钥登录服务器,与git公钥认证是同一套系统,不同的linux用户;

    3、例如以root用户登入服务器,  cd ~/.ssh   vi authorized_keys  ,用于存放登录公钥,形如

    ssh-rsa AAA************* companyPC
    
    ssh-rsa AAA************* myMacBook

    4、切换到git用户,su git,同样的 cd ~/.ssh   vi authorized_keys,用于存放git验证的公钥,形如

    ssh-rsa AAA************* companyPC-git
    
    ssh-rsa AAA************* myMacBook-git

    5、公私钥生成命令(Linux或MAC系统)。

     ssh-keygen -t rsa -P ''    这里的-P后面填的是密码,可为空,一般SSH登录的建议设密码,GIT认证用的可以留空。

    这个命令则会在提示的指定目录生成两个文件   id_rsa 私钥文件  id_rsa.pub 公钥文件

    6、打开id_rsa.pub文件,复制内容到第3或4的服务器文件中。

    本地登录/GIT检出时,选择使用私钥的方式,使用刚才生成的id_rsa文件。

    7、使用tortoiseGIT时,使用的私钥是ppk格式,需要下载puttygen,生成ppk格式类型的公私钥对。

    二、MAC版sourceTree使用私钥登录仓库

    1、MAC版sourceTree没有单独的项目设置公钥,使用的是系统里的配置登录;

    2、使用上面的方法生成好公私钥文件,本地使用的是私钥文件;

    3、假设私钥文件的存放路径为 /Users/batsing/git-key/id_rsa ;

    4、MAC电脑打开命令行工具,进入本人目录  cd ~ ,ls -a 查看是否存在 .ssh文件夹,如果没有则创建,如果有则进入.ssh文件夹;

    5、现在所在的目录为 ~/.ssh,在本目录用VI编辑器新建config文件, vi config  ,按i进入编辑状态,输入以下文本;

    Host 127.0.0.1
        Port 12200
        User git
        IdentityFile /Users/batsing/git-key/id_rsa

    Host为git服务器的IP地址,Port为端口,User为登录用户,IdentityFile后面填私钥文件的路径;

    6、保存并退出VI编辑器,这样sourceTree要用的git私钥就配置好了。

    7、现在sourceTree就可以拉取、推送等操作了。重启电脑配置不会丢失。

    三、git 撤销,放弃本地修改

    1、未使用 git add 缓存代码时

    可以使用  git checkout -- filepathname  (比如: git checkout -- readme.md  ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout .  命令。

    此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。

    2、已经使用了  git add 缓存了代码

    可以使用   git reset HEAD filepathname  (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所以的缓存可以使用 git reset HEAD . 命令。

    此命令用来清除 git  对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。

    四、git “服务器” 命令

    1、在服务器的  /git/proj  文件夹中创建新的仓库,git init

    2、由于git默认拒绝了push操作,需要进行设置,修改 /git/proj/.git/config 文件后面添加如下代码:

    [receive]

    denyCurrentBranch = ignore

  • 相关阅读:
    Spring Boot笔记一 输出hello
    Java Web之表单重复提交问题
    Java Web之验证码
    Java Web之下载文件
    Java工具之上传文件
    Java Web之上传文件
    Java Web之EL
    Java Bean的规范
    Java Web之JSP
    《FPGA全程进阶---实战演练》第一章之如何学习FPGA
  • 原文地址:https://www.cnblogs.com/batsing/p/git.html
Copyright © 2011-2022 走看看