您的位置:首页 > 其它

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

2017-02-25 16:43 232 查看
记录一下自己学习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就可以查看到我从开篇到现在一直都做了什么。

就是多了个参数嘛



本地的一些操作就练习玩了,后面进行分支的学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git 管理