zoukankan      html  css  js  c++  java
  • 使用Git版本控制工具管理GitHub

    使用Git版本控制工具管理GitHu

    1. Git是一个分步式的管理系统:只要上传操作得当,所有的都可以相当于是中央服务器,成员代码共享,A写的代码B也有,一般把一个人当做主机,其他人通过该主机拼装代码并克隆到自己的电脑上;

      这样即使是主机凉了,其他人也都会有各自的本地代码,都不会凉;

    2. Svn是一个集中式的管理系统:所有人将各自的模块代码上传到中央服务器中进行拼装,当服务器凉了所有没有本地代码的人就都凉了;


    一.配置Git

    • 下一步下一步,注意可以设置为notepad修改;

    • 安装完成后,先去电脑中查看是否有SSH秘钥,这个秘钥拥有互联网唯一性

      • 进入C:Userlyuweigh.ssh中查看,有没有"id_rsa",和"id_rsa_pub"

      • 如果没有,则需要创建秘钥:

        ssh-keygen -t rsa -C "email@email.com","email@email.com"
      • 然后在输入:

        //文件保存在本地.git/config中
        $ git config --global user.name "Your Name"
        $ git config --global user.email "email@example.com"

    二.设置GitHub

    • 创建一个账号,进入设置











    • 然后选择New SSH Key 将本地User/lyuweigh/.ssh/id_rsa_pub 内容复制进去,加一个标题 保存
    • 然后在git中就可以进行pull 和 push 操作了

    三.基本操作命令

    1. 提交被修改过的文件的方法到.git仓库

      git add xxxx.xxx //提交指定文件
      git add.//提交所有文件
    2. 提交是不行的,还需要对这次 提交|修改 进行说明

      git commit -m 'xxxxxxx'
      // -m 后面输入的是提醒备注的文本,最好详细
    3. 查看仓库状态命令

      git status
      //如果有的文件提交到本地仓库,则会显示为红色,如果没有对提交的文件进行签名,会显示为绿色
      //如果显示为红色,自行提交, 如果显示为绿色,对操作进行签名
    4. 版本回退

      • 使用git log 命令进行查看提交的版本迭代信息

        git log
        //如果输出的信息太多,加上--pretty=oneline ,会将显示信息减少,增加可读性
      • 使用回退代码

        //根据每次commit代码时的签名来指定git本地仓库回退到的具体版本
        git reset --hard^
        //这里的'^'符号代表跳过的次数,出现一次就是跳回到上一个版本

        当从v3.0退回到v2.0的时候,原来版本的代码还在,只是使用git log是无法显示出v3.0的签名的

        使用 git reflog

         1 git reflog
         2 //用来显示历史所有成功执行的命令每一次的命令
         3 
         4 //以下是显示代码, 第一条是最近的代码,我回退了版本1, 剩下的是提交过的签名
         5 
         6 $ git reflog
         7 ed3bf60 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
         8 2afd461 (origin/master, origin/HEAD) HEAD@{1}: commit: 免罪目录
         9 ed3bf60 (HEAD -> master) HEAD@{2}: commit: add xmind uml
        10 451af7b HEAD@{3}: commit: 修改了
        11 b9188e0 HEAD@{4}: commit: 修改签名
        12 9f9d110 HEAD@{5}: clone: from https://github.com/lyuweigh/First.git
        13 //既然知道了上衣次版本号'免罪目录'的hash值是 "2afd461", 那么就可以通过版本回退命令来修改版本
        14 git reset 2afd461
        15 //这里的 "哈希值" 可以简略写, 只写前面几个

        git的版本控制是指针设计方式


    四.Git原理

    最外围的区域是工作区

    .git 文件夹中有暂存区 (Stage)主分支区(Header)

    1. java Git add xxx 命令将文件提交到stage(暂存区)中;

    2. Git commit -m xxx 命令将文件提交到 Header(主分支)中

    3. 不管是访问他人内容 , 还是自己的内容被访问, 所请求的资源都是Header中的资源


    五.撤回工作区的修改:

    git checkout -- file
    //file是想要被改回的文件名
    //丢弃工作区的修改, 回到当前版本库的状态
    1. 撤回暂存区的修改
    git reset hard <file>
    //file是想要被改回的文件名
    //丢弃暂存区的修改
    1. 只要没有提交到远程库中,那就是可以修改的, 就算提交到了远程库中,大不了pull下载改一下在push上去,因为有 版本库 指针的存在 所以非特殊情况不会造成代码丢失

    2. 删除文件

      • 删除当当前版本库中的内容:

        git rm <file>
        //由于是属于修改了当前工作区的文件,操作树就不为空了,需要手动提交该操作的签名
        git commit -m '删除了xxxx'
        

    六.分支区(Header)

    每一个本地库都是一个分支(.git),将代码先commit到自己的当前分支上,随时都可以添加,并且速度快(本地传输),
    敲一天代码,这一天内可以随意的将代码添加到本地分支中,并且有版本库的存在不用担心提交;
    本地代码弄好后,将本地分支代码提交到远程仓库中,(为了防止冲突问题,要先将服务器中的代码pull(拉回)到本
    分支上,再将本分支push(推出)到远程服务器中)

    观自廖雪峰 

     

  • 相关阅读:
    暴躁游戏

    时间记录表格
    好好生活
    JAVA环境的配置
    Java简介
    markdown学习

    Arduino
    Arduino
  • 原文地址:https://www.cnblogs.com/lyuweigh/p/72bed6d687a129f0dcfee65a6554d84a.html
Copyright © 2011-2022 走看看