美文网首页
初级Git的学习

初级Git的学习

作者: woshiliujia110 | 来源:发表于2018-12-21 15:28 被阅读0次
    此篇仅当做一个学习git的初级教程。

    因之前搭建hexo+github的个人博客需要多端可以一起操作,网上搜的教程也就那样没有让我很满意。
    因为学习廖雪峰老师的git教程,于此写下此篇学习记录。

    安装

    windows 可以直接下载git安装程序来安装
    Mac os 可以通过homebrew来安装

    安装完成后还要进行一步设置

    $ git config --global user.name "你的名字"
    $ git config --global user.email "你的邮箱"
    //这一步等于设置你的基本信息一般
    

    创建版本库(repository)

    版本库相当于一个仓库,这个仓库里面的东西你都可以用git进行管理。

     1.找到一个地方创建一个空目录
     2.命令进入这个目录,或者windows可以直接右键git base here
    $ git init
    
    我为了图方面直接用的VSCode 随便创建个文件夹拖到编辑器,直接右键‘在终端中打开’ vscode中

    下面这步已经初始化成功了


    git init

    把文件添加到版本库

    版本控制系统只能跟踪文件的修改内容,视频/音频这些只能跟踪改动的大小,如120kb->1M
    当前目录创建一个reademe.txt文件 image.png

    现在把这个文件提交到仓库

    $ git add readme.txt //第一步告诉git 把’readme.txt‘文件提交到仓库
    $ git commit -m '创建readme文件' //告诉git此次提交的内容说明
    //如下2张图
    
    第一步 第二步

    如何提交多个呢

    $ git add 1.txt 2.txt 3.txt //也可以反复多次使用
    $ git commit -m '提交三个文件'
    //git add 就是将文件提交到一个临时的地方存起来(相当于买车票,一个个先上来)
    //git commit 就是最后一起提交 (满员或者到点该发车了到目的地)
    

    小结:

    $ git init //初始化git仓库,知道自己要在哪个站点候车
    $ git add <file> //上车
    $ git commit -m 'message' //发车
    

    尝试修改'readme.txt'

    比如,你想要看看现在即将要提交的文件跟上次文件的不同

    $ git status //可以查看你准备提交的文件和上次改了多少东西
    $ git diff readme.txt //查看改的具体内容
    
    git diff <file>

    最后再进行提交

    $ git add readme.txt
    $ git commit -m '加了一段话'
    //以上流程可以多试几次,多更新写版本
    $ git status //查看仓库是否还有更改的文件需要提交的
    

    版本回退

    突然有一天服务器刚提交的代码突然出了问题,没办法赶紧回到上个版本

    $ git log //查看最近的三个版本,由新到旧排列
    
    git log

    首先我们得知道git中用 HEAD 表示版本的意思 上一个版本 HEAD^ 上上个版本HEAD^^
    所以回退到上个版本

    $ git reset --hard HEAD^ //这里没办法gif演示,不然会很直白
    
    回退到前一个版本

    后来突然发现这个线上bug不属于我们,属于新的功能需求别的部门没有及时更新,我们还得回去前个版本
    但是 git log 只有前面提交的了怎么办
    因为每个版本都有个commit 2948a... 这么一串东西
    只要记住这个可以根据id回去了 就好比你要回家,但是现在可以坐汽车火车,火车已经走了,那你可以选择汽车。

    $ git reflog //查找每次提交的记录,找到这个
    $ git reset  --hard 2948a // hard 后面跟你想要的commit id 就行了
    
    git reflog

    这个写的可能有点乱。也就回退版本的几条命令

    小结

    HEAD 表示版本,并且如何表示上个或者上上个版本
    $ git log //查看最新3个版本记录
    $ git reflog //查看所有的版本记录
    $ git reset --hard HEAD^ //通过HEAD去上个版本或者上上个
    $ git reset --hard 8b8392e //通过commit id去某个版本
    

    Git 工作区和暂存区

    先用很直白的话来表达下
    工作区就是你当前工作的地方,你写代码的地方
    暂存区就是之前说的 你买票上车了,但是车还没有出发
    最后没有人要上车了,发车到达目的地 也就是分支

    下面代码表述

    $ git init //先得有个工作区,也就是车首先能够开到这让我们上去
    $ git add <file> //检票上车,等候发车
    $ git commit -m 'message' //满员发车并到达目的地
    
    //这些个过程都得有,先得有个车能够来的地方,然后等着车,然后满员发车到目的地 缺一不可
    

    如何管理和撤销修改

    $ git checkout -- <file> //适用于没有git add 的情景 相当于进站了,但是没上车。
    $ git reset HEAD <file> // 适用于已经git add的情景,相当于上错车了,但是车还没发动,可以下车。
    

    远程仓库(GitHub)

    由于本地仓库和github仓库是ssh加密传递的
    1.本地生成SSH key 如果没有

    $ ssh-keygen -t rsa -C "youremail@example.com"
    
    如果有了,直接打开 一般windows windows电脑.ssh位置
    苹果电脑 苹果电脑查看.ssh
    PS:苹果电脑查看隐藏文件夹姿势是 shift+command+ '。'
    2.登录github进行 settings image.png

    第三步 在Key文本框里粘贴id_rsa.pub文件的内容:


    image.png
    添加后就能看到了

    关联本地仓库到github

    image.png

    点击新建一个仓库 New reopsitory


    推送现有的 image.png

    刷新github查看一波 哎~有了!复习下之前添加的命令啥的


    image.png

    再刷新一波github新增的文件也上去了 很舒服!

    $ git push -u origin master // 第一次推送远程仓库是空的  所以多加个 -u
    $ git push origin master //以后推送这样就行了
    

    从github克隆到本地

    这个也是刚刚那样,不管怎么样新建一个仓库在github上再说 勾选最下面默认创建readme文件

    然后 克隆仓库到本地
    复制链接然后
    $ git clone '上图复制的链接'  //这个命令确认后下面你要输入你github的密码
    //多人开发,没人都克隆就行了
    

    这篇初级的就先到这里吧,太多了下一篇介绍分支啥的!

    相关文章

      网友评论

          本文标题:初级Git的学习

          本文链接:https://www.haomeiwen.com/subject/anuykqtx.html