1、该系列为ACWing中Linux基础课,已购买正版,课程作者为yxc
2、y总培训真的是业界良心,大家有时间可以报一下
3、为啥写在这儿,问就是oneNote的内存不够了QAQ
git
git用树结构管理所有的历史版本;
每一个节点代表代码的版本,也可以扩展很多分支,或实现不同分支的合并和回滚;
1、git基本概念
-
工作区:仓库的目录。工作区是独立于各个分支的(不管在哪个分支里面,工作区都是同一个)。(本地看git就是一个文件夹,当前的工作目录)
-
暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。(暂存区是工作区和版本库的桥梁,每次先从工作区存一点在暂存区,再整体存入版本库)
-
版本库:存放所有已经提交到本地仓库的代码版本(将所有版本用一棵树存下来)。
-
版本结构:树结构,树中每个节点代表一个代码版本。
-
头指针Head:每次head只会处于其中一个节点;当要将当前工作区存入版本库时,会在head后创建一个新的节点,同时将head后移一位。
-
主分支:默认创建的是master分支;origin是添加的云端分支,通过
git remote add origin
与本地完全一致;
acs@61f2b97ca5ed:~/project$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
表示当前分支比云端分支多1个版本
- 分支:任意一个节点都可以有分支,在commit前只是有一个分支的趋向。
2、 git常用命令
-
git config --global user.name xxx
:设置全局用户名,信息记录在~/.gitconfig
文件中; -
git config --global user.email xxx@xxx.com
:设置全局邮箱地址,信息记录在~/.gitconfig
文件中 -
git init
:将当前目录配置成git仓库,信息记录在隐藏的.git
文件夹中 -
git add XX
:将XX文件的修改添加到暂存区;只暂存main.cpp可以将B文件(main.cpp)作为A文件(readme.txt)的下一个节点。删文件这个操作也可以加入暂存区,同样用git add X
命令git add .
:将所有待加入暂存区的文件加入暂存区;
-
git rm --cached XX
:将文件从仓库索引目录中删掉(不去管理该文件); -
git restore --stage XX
将暂存区的文件(暂存区的修改)从暂存区撤出,但不会更改文件;(与git rm --cached XX
功能相似,只是从暂存区里拿出来,清除的是暂存区) -
git restore XX
或git checkout — XX
:将XX文件尚未加入暂存区的修改全部撤销(将上一步对代码的修改取消并回滚到暂存区里暂存的版本,删除的工作区,如果暂存区没有内容,则回滚到Head节点指向的版本)rm a.txt git restore a.txt