Fork me on github

【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

posted @ 2020-06-03 10:54  未配妥剑,已入江湖  阅读(373)  评论(0编辑  收藏  举报