注释:此为网站视频教程的学习过程老师的代码,在此作记录以加强学习https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000
版本控制系统的概念
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
集中式和分布式
集中式:每一次commit都是提交给中央服务器,断网没法工作。
分布式:先commit给本地,然后push到中央服务器。每一个电脑都有完整的版本库。
工作区:作代码修改
暂存区:修改后的代码add后放在暂存区
仓库:将暂存区的代码commit到仓库。仓库实际上是每一个版本的集合。比如说提交了1.txt,2.txt后形成版本1,修改1.txt再提交形成版本2,版本2中的文件为1.txt和2.txt,再将2.txt删除后形成版本3,这三个版本都存在仓库中。
(1)将文件提交到git仓库
optitude install git 安装git
aptitude research git 在软件仓库搜索git
aptitude show git 查看关于git安装包情况
此时显示已经安装了git
pwd 当前文件夹
git 显示当前git的所有命令
pwd
mkdir mygit 创建一个新的文件夹
cd mygit(这里有个小技巧,按完cd m再按Tab键会自动补全)
git init 创建文件夹
ll 显示文件夹下的所有文件,而ls只是显示当前文件夹下的目录
ll -a 显示所有文件(包括隐藏),用来保存每次写的版本
ll -a ./.git 显示git文件夹下的东西
ls
touch 1.txt 在mygit文件夹下创建1.txt
touch 2.txt
vi 1.txt 修改文件内容(按i进行修改,修改完成后先按Esc,再按:wq退出并保存)
vi 2.txt
cat 1.txt 查看1.txt的内容
git add 1.txt
git add 2.txt 将1.txt和2.txt提交到暂存区
git commit 此时会跳出一个窗口,提示你写上此次提交的备注,以便以后使用
或者直接用 git commit -m "message for desc"
git status 查看仓库当前的状态(提示有一个新文件)(一般放在commit之前,显示需要提交的修改)
git diff 1.txt 显示修改的内容
(2).接下来尝试删除文件
rm 2.txt 删除工作区文件
git rm 2.txt 删除暂存区文件,同时将rm动作保存到暂存区,以便告诉仓库当前的操作。
git commit -m "" 告诉仓库rm操作,形成版本3
git log 查看日志(--pretty=oneline)
git reset --hard e8c4(此处为版本号的前4位,通过git log可以查看到)
git reflog记录每一次的命令,用来回退到最新的版本。