• 【Git】——本地仓库个人使用篇


    前言:

    之前因为嫌麻烦,就一直用的GitHub Desktop,但是最近入手MacBook,发现控制台跟Linux一样好用,所以总结了一下github的命令行用法和原理,接下来的截图是在Windows10系统上的截图。安装什么的就不用说了(Linux、macos、Windows都有控制台版本)

    在开始之前,请看一个图(参考这篇文章总结的,本地仓库常用流程图):

     可以简单的理解成,粉色的箭头就是提交操作,橙色的箭头就是拉取到本地操作。

    四个方块的含义:

    远程(Remote):是指存放在git服务器上的版本,不能直接修改里面的内容,需要通过git命令把本地修改好的内容提交上去,这部分是真实存在的代码文件之类的;

    仓库(Repository):只能从仓库状态提交到远程,相当于在本地的汇总,所有的修改只有给到仓库才算数,要不然没法提交到远程,这是个抽象的概念,不是存放代码文件副本,而是一些别的手段实现的;

    缓存区(Index / Stage):工作区域和仓库之间的中间步骤,用来协调两者之间的岔路口的,工作区域的本地修改不能直接就给仓库,需要个代理,于是就有了缓存区这个概念,这个也是抽象的概念;

    工作区域(Workshop):就是本地内容,这部分是真实存在的代码文件之类的;

    拉取操作:

    clone:

    我的习惯是,如果要创建新的git项目,就先到github网页版创建,然后clone到本地,命令如下:

    git clone url

     (git bash的终端是可以改格式的,我这个字体是自己微调的,有、、非主流23333)

    clone的实际运行是分三步进行的:

    蓝框:第一步是在当前文件夹下面创建一个与项目同名的文件夹(也可以自己重新命名别的文件夹,但是不建议,没必要);

    红框:从远程(remote)获取项目,下载成功会跳到第三步;

    黄框:解压缩刚刚下载的包;

    fetch:

     用于下载远程的所有变动,一般我是没怎么用过。

    checkout / reset:

    因为缓存区和仓库区都是抽象的概念,所以这里的checkout可以理解成在提交到远程的中间步后悔了,怎么撤销的操作。

    第一种情况是,已经工作区已经修改,然后还没到缓存区或者仓库区,可以通过命令回退,使工作区和抽象的另外两个区域保持一致:

    git checkout -- filename

    第二种情况是,代码已经add操作,到了缓存区阶段,可以通过reset指令实现回退,使缓存区去跟仓库区保持一致(本地代码不变,需要再来一次第一种情况才行):

    git reset HEAD filename

    第三种情况是,代码已经commit提交了,commit之后会有一长串序号标识符,可以依靠这个回退,(通过git log查看各个commit版本)

    git reset --hard commitid **

    pull:

    很多时候是一个项目,但是在两台电脑上,可能在宿舍写着东西,但是出去要用轻薄本继续写,这也是目前我对git的主要需求。(当然git主要是项目管理,但我现在还是用的少,后面可能会用到多一点,到时候在写合作篇),当台式机push完之后,GitHub服务器那边已经修改了,这时候在外面就可以用pull命令同步到轻薄本上。

    这里我在网页端修改一下README.md,看一下pull拉取的反应:

    可以看到:

    1. 进入相应文件夹后,会在路径后面多出一个括号,里面就是当前的分支,现在是主线,也就是master;
    2. 从远程拉取之后,会进行比较,提示版本比较(这个版本号其实,只需要前几位就足够辨别了,所以这里git只给出了几位);
    3. 最后把相关文件进行调整,该删的删,该改的改,该加的加;

    提交操作:

    这个操作我一般都是一口气全都进行,虽然会导致commit变多,但是我比较懒,一般就大改一次或者要换设备写的时候,才会提交,直接就提交到最终的远程区。

    add:

    是将本地修改暂存的命令,意思是告诉缓存区需要把哪些东西给到仓库区

    git add filename
    git add .

    一个是添加指定文件,一个是全部文件一股脑全加

    commit:

    这一步需要先完成add操作,要不然会报错,一定要按步骤:

    git commit -m "xxx"

    如果不想这么麻烦,可以用 -a 代替add操作:

    git commit -am "xxx"

    push:

    最后一步是把修改提交到远程:

    git push origin

    其他操作:

    git log:查看之前的版本

    git status:查看工作区状态

    参考:

    Git常用命令及方法:https://blog.csdn.net/web_csdn_share/article/details/79243308

  • 相关阅读:
    广域网详解
    无线AP和无线路由器区别
    TRUNK的作用功能.什么是TRUNK
    name after, name for, name as
    让你的情商爆棚吧!
    综合布线系统之7个子系统构成
    网桥和交换机的工作原理及区别
    边界网关协议BGP
    OSPF协议详解
    路由信息协议(RIP)的防环机制
  • 原文地址:https://www.cnblogs.com/wayne-tao/p/13034147.html
Copyright © 2020-2023  润新知