git的入门练习(本地仓库)

来源:互联网 发布:加工中心打孔编程 编辑:程序博客网 时间:2024/06/06 01:25
记录一下自己学习git的一些操作,熟能生巧嘛,还是得要多练习。虽然一个人用git也不太理想。学习思路参考自莫烦大神的教程以及网上其他大神的博客。第一步,初始化一个git管理库。

这里写图片描述
输入命令,查看一下,会发现多了.git文件夹

ls -a

这里写图片描述
进去看看,发下还有不少东西,会发现一些比较熟悉的字眼,比如像HEAD,branches,config等等。我们在仓库中执行的命令应该是修改这些文件里面的东西来实现git的功能的,先不深入。
这里写图片描述
设置仓库管理员的名字还有邮箱。在本地仓库上肯定就是设置为全局的啦。

git config --golbal user.name "myname"git config --golbal user.email "my@emial.com"//设置完成后可以用以下命令查看名字或者邮箱,命令也都是套路了对不对git config user.name  git config user.email 

这里写图片描述
新建个helloworld.cpp文件,并且执行git add <文件名>,添加文件追踪

git add helloworld.cpp
git add .    //这个命令可以添加仓库下所有未添加进来的文件。

执行git status 查看

git status

这里写图片描述
可以查看被添加进来的源代码文件,由于编译好的程序没添加进来,所以显示为未跟踪的文件。一般可执行程序和编译的中间临时文件也不会添加吧。

接下来进行第一次提交(commit)。
执行命令

git commit -m "提交时说明的信息"

这里写图片描述
使用git log 命令可以查看提交日志。下面就看看我第一次提交的时产生的日志.

git log

可以看到每一次提交都会产生一个哈希码作为该次提交的标识,还有一些信息
这里写图片描述
修改helloworld.cpp,再次查看状态
这里写图片描述
git监控到了helloworld.cpp被修改了,并显示了出来。如果要作为再次提交用则需要把helloworld.cpp在添加依次如上图的提示。或者粗暴点直接

git commit -a

这里写图片描述
再次提交后,在查看一下log
这里写图片描述
多了一次提交。
接下来作第三次修改。在还没有再次git add 新修改文件的时候,可以使用 git diff 命令查看和最近一次的commit结果的比较。
这里写图片描述
还挺生动的显示哪里加了一行(笑)。
但需要注意,文件add进入了可提交状态后使用diff命令就查看不到比较结果了。接下来两种方法可以查看比较结果
1.使用reset命令,取消掉可提交状态
git reset HEAD <文件名>
2.使用–cached参数(已经暂存的意思)

git diff --cached

这里写图片描述
第三次提交后就有了三次提交记录。
这里写图片描述
此时如果想要回滚到第二次提交的状态呢,可以使用 git reset 命令
有以下几种用法

git reset --hard HEAD //HEAD指向当前的最新提交,这一行不是回滚git reset --hard HEAD^ //^回滚到上一次提交git reset --hard HEAD^^ //回滚到上上次提交,如此类推git reset --hard HEAD~100 //回滚到上100此提交

-soft – 缓存区和工作目录都不会被改变
–mixed – 默认选项。缓存区和你指定的提交同步,但工作目录不受影响
–hard – 缓存区和工作目录都同步到你指定的提交

这里写图片描述
查看log会发现第三次提交消失了,如果突然后悔又想回到第三次提交,可以使用git reflog命令查看第三次提交的哈希码,然后使用命令
回到第三次提交

git reset --hard <跳转的哈希码>

这里写图片描述
可以看到只要通过哈希码就可以方便的随意跳转提交状态了
在git log命令后面加多个–oneline参数就可以只查看每次提交的备注信息和哈希码了。

git log --oneline 

这里写图片描述
好了,弄了这么多。如果有一个图可以显示我到底做了什么那岂不是很好很清晰了吗。图形比文字要来的直观,刚好git log –graph就可以查看到我从开篇到现在一直都做了什么。
就是多了个参数嘛
这里写图片描述
本地的一些操作就练习玩了,后面进行分支的学习。

0 0
原创粉丝点击