zoukankan      html  css  js  c++  java
  • git 基础二

    ××××××××××××××版本回退××××××××××××××××
    每一次git commit 就把文件的当前状态存储下来,这称为快照;
    方便回退到不同的版本状态;

    git log 
    查看版本库不同的版本,日志信息

    git log --pretty=oneline
    简化日志信息
    返回信息结构:
    commit的id号(版本号) commit时阐释

    git reflog
    比上两种命令多要好用,同样是返回版本库不同版本的信息
    返回信息结构:
    简化版本号 HEAD@{编号} 操作类型:该操作时的信息

    注意:操作类型,一般是commit,reset(退回到某个版本库的命令)



    注意:HEAD和简化版本号相同,都是版本号,形式不同而已

    注意:此命令和git log 不同,在退回到某个版本时,
    git log 不会显示全部的日志信息,显示到当前版本位置;

    git reflog 会记录每一次

    回退到某个版本
    git reset --hard 版本号
    或者
    git reset --hard HEAD@{编号} ------- 通过git reflog 查看

    版本号通过git log;git reflog;查看


    注意:理解关键字HEAD,相当于指针,指向不同的版本库所在的存储位置

    版本如何方便的回退到最新版本位置?
    1.第一步,通过git reflog查看
    2.第二步,通过git reset --hard 版本号 回到指定版本

    如何查看当前所在的版本?
    1. 第一种方法:
    通过 git log 方式,只会显示从最初的版本到目前版本的日志

    2. 第二种方法:
    git reset --hard HEAD
    HEAD是指针,表示当前所处的版本
    ××××××××××××××××××××××××××××××××××

    修改撤销

    1. 撤销暂存区中的修改
    git reset HEAD 文件名
    这是暂存区没有了该文件,该文件回到了工作区

    注意:git reset不仅可以版本回退,还可以撤销暂存区中的修改
    HEAD表示最新版本

    2. git checkout --文件名
    2.1 如果文件在工作区,即将修改撤销,回到最新版本状态
    这种情况,直接打开文件修改即可
    2.2 文件在暂存区,没什么变化

    注意:
    即使文件在暂存区也不一定撤销所有的修改,这是可以在工作区再次打开该文件,
    修改后,再次add,即可;这是暂存区的该文件是刚刚更改的文件

    **********************************
    删除文件

    *********************************
    远程仓库

    在服务器中建立仓库,各个客户端可以clone仓库到本地;
    git本地仓库 与 github仓库 传输需要ssh加密

    本地仓库与github仓库交互,为何要配置ssh文件?
    客户端与github之间的通信遵循ssh协议,所以需要在客户端,服务器端设置
    1.在git本地设置ssh秘钥
    2.在github中将git本地设置的秘钥填写在相应的设置中
    这样,github就知道在与哪个用户交互

    别人可以克隆你的仓库,但是无法提交修改等;即只读不写

    在本地设置git的ssh文件
    1.设置ssh key
    在home/xubiao目录下查看是否存在.ssh文件
    【.ssh表示该文件是隐藏的,在显示时,需要使用ls -a】

    在.ssh目录下是否有id_rsa id_rsa.pub文件

    如果不存在,创建这两个文件,这是存储秘钥的文件
    创建语句: ssh-keygen -t rsa -C 邮箱

    一直下一步就可以,不需要输入任何东西;
    命令语句在.ssh目录下输入,这是在.ssh目录下生成以上两个文件

    2. 将id_rsa.pub中的秘钥填入github中
    在github中填写秘钥后,要验证github密码

    连接远程仓库?
    前提:必须配置ssh

    1.远程仓库存在,直接在客户端克隆
    git clone 远程仓库地址

    此时客户端克隆的仓库已经和远程仓库建立了联系;
    提交时,可以直接执行以下语句:
    git push -u origin master
    -u表示首次提交时,客户端master分支与远程master分支合并


    2.在本地创建仓库,服务器中是个空仓库
    首先,本地仓库,远程仓库建立联系
    git remote add origin 远程仓库地址

    其次,提交
    git push -u origin master

    在于远程仓库建立联系时,有两种方式:
    1.通过ssh协议的地址 2.通过https协议的地址
    ssh协议方式在提及时不需要输入github的用户名/密码

    注意:
    不管本地仓库是克隆远程仓库,还是新建本地仓库然后和远程仓库建立连接,
    只要是通过ssh协议,在提交时,就不需要输入github的账号/密码
    通过https协议,需要输入github的账号/密码

    与远程仓库交互有两中协议:https,ssh
    建议使用ssh,速度快

  • 相关阅读:
    Codeforces 451A Game With Sticks
    POJ 3624 Charm Bracelet
    POJ 2127 Greatest Common Increasing Subsequence
    POJ 1458 Common Subsequence
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1698
    HDU 1754
    POJ 1724
    POJ 1201
    CSUOJ 1256
  • 原文地址:https://www.cnblogs.com/RocketV2/p/5379917.html
Copyright © 2011-2022 走看看