安装完成git之后,一定要把自己的用户信息配置进去
这样才会知道每一次的操作是谁进行的
git config --global user.name "xxxxx"
git config --global user.email "xxxxx@xxxx.com"
双引号内的信息是自己的用户名以及邮箱
使用git config --list命令可以查看信息是否成功写入:
理论知识
要想了解Git更具体的操作流程,请看下图:
然后我们可以开始一个新项目的Git实践了
首先第一步:我们可以先创建一个新项目
然后在项目的根目录下,输入命令git init进行初始化Git
这里我们可以看到我们的Git已经初始化成功。
然后我们在进行下一步操作
在现在写代码的过程中,很多时候都会在项目中写一个README.md的文档,一般在这个文档中我们会写一个项目的主要操作过程和项目功能介绍等。
在Mac下我们可以使用vim命令
直接在已经进行Git初始化的项目中,写入一个README.md文档
我们可以直接输入命令 vim README.md
然后就进入了vim编辑器中,输入一句对这个项目的大概描述
然后点击esc 并按下 :wq进行保存文件并退出的操作
这里提示一下,如果想要进行重新对README.md文件的编辑
直接在进入vim文件编辑器后的视图页面中,输入字母i,然后回车,
然后这个文档又变成可编辑的文档了,记住编辑之后一定要根据进行自己的需求进行相应的保存
然后我们就可以将文件添加到暂存区域里了
回到已经进行Git初始化的项目中,在命令行窗口,输入命令:
git add README.md
然后回车
这里呢,一般不会出现特别的消息,然后我们再继续准备下一步的操作
将文件提交到我们自己的Git仓库中
根据图上提示,我们可知,Git告诉了我们一个文件被改动了
有一行内容被添加了
在这里我们再注意一下,commit是提交的意思, -m 后边跟着的是本次提交的代码说明,就大概描述这一版本做了哪些内容的改动,以便可以迅速查看
但我们要知道,对于这个提交的说明,Git是强制要求必须写的,因为如果没有使用 -m 选项,Git会自动打开一个编辑器,要求操作者在其中输入提交的相关说明,输入完毕后保存退出就可以了
所以
我们可以看出,讲工作目录的文件放到Git仓库只需要两步:
Step One : git add 文件名
Step One : git commit -m "提交说明"
然后下一步我们需要做什么呢,就是查看状态,毕竟,如果你想要知道哪些文件是新添加的,哪些文件已经加入了暂存区域,来帮助自己更好的理解自己进行的操作步骤有哪些
然后我们可以从命令行的提示中得到
On branch master:表示我们现在正位于一个叫做"master"的分支里,这是默认的分支,所以我们可以先不用去理解它的具体含义
nothing to commit, working tree clean:说明了当前的工作目录是"干净的",没有需要提交的文件(意思就是在上一次的提交之后,工作目录中并没有修改和增加删除任何文件,没有进行任何的操作)
在这里,为了验证要是在当前的工作目中新增加,删除,修改了其他文件,git status命令会有哪些改变,我们再次把README.md文件打开,进行编辑操作,增加一句话,然后再进行保存退出操作
然后在命令行中再次输入git status命令
可以得到:
Changes not staged for commit:这句话表示暂存区有改动的文件还没提交
然后我们可以根据它小括号里面的提示,进行git add操作
然后我们再次查看当前提交的状态
再次通过上图小括号可以得知:我们还可以用
git reset HEAD<file>来回到未提交的状态
然后我们可以再试一下
一直git add 又git commit是不是特别麻烦呢
有一句命令可以直接将已经跟踪的文件先add到暂存区域,然后再执行commit命令,那就是git commit -am "提交说明"
ps:这里的-am是-a -m的缩写
然后我们就可以用git log命令查看历史提交了,查看具体日志
好,这里我们再来进行另外一种操作
回滚快照
快照即提交的版本,每个版本称为一个快照
现在我们利用reset 命令回滚快照,并看看Git和本地仓库,暂存区域,Git仓库分别发生了什么
执行git reset HEAD~命令,然后再执行git status
这里要注意HEAD表示HEAD的上一个版本提交,HEAD表示HEAD的上上一个版本提交,如果希望表示前面的第十个快照,那么可以直接用HEAD10来表示
git reset HEAD~也是git reset --mixed HEAD~的缩写,因为--mixed,所以可省略
为了灵活的操作这三个区域之间的联系,Git还为reset命令安排了
-- soft 和 --hard选项
-- soft选项
git reset --soft HEAD~ 命令就相当于只移动HEAD的指向,但并不会将快照回滚到暂存区域中.那它到底有什么作用呢,事实它就是相当于撤销了上一次的提交(commit)
然后可以得知,我们的具体操作