git里面的提交代码和svn的提交代码有很大的区别,git的提交是把代码提交到本的仓储区,只有push之后,代码才会真正的提交到远程仓库

1、添加文件
当我们新建一个文件或者目录之后怎么加入版本控制呢?
git add 文件名或者目录。或者我们执行 git add . 把所有新建的文件添加到版本控制当中。

我们新建了一个文件名为a.text,然后执行了git status 可以查看到我们当前的工作区的变化,然后执行git add a.text ,把新建的文件添加到版本控制当中,这是文件就会被放置到暂存区,我们执行git status ,这时我们发现,命令行关于a.text的提示变成了绿色,说明我们已经把a.text放置到了暂存区,如下图

那么我们怎么提交我们的代码呢?git里面的提交也就是commit,不同于svn提交的概念
然后,我们执行git commit -m '注释',如下图,我们提交了代码,并且写了一个注释,再次执行git status , git提示我们这是一个干净的工作区

那么,我们如果发现我们的注释信息错误了怎么办呢?
git commit --amend
执行这个命令之后我们会打开一个编辑页面,然后按下i键进入编辑模式,输入你想说的内容,然后按esc键推出编辑模式,输入:wq!退出并且保存,执行git log

发现我们对提交的注释进行了修改
当我们修改了一个文件之后怎么再次提交呢?如下图,执行上面写的流程

可是我们发现我们提交的内容有问题怎么办?最简单的办法是改回来从新提交。可是,如果很多文件,我们修改了很多内容怎么办,都改回来么?那就悲剧了,ps,我们工作中一定要把握好提交代码的颗粒度,尽量一个小的功能点完成就提交一次,这样方便追查和修改。
有时候我们发现我们修改的代码中某个文件存在bug,想撤回我们对于某个文件的修改怎么办呢?
git checkout commitid 文件,用于撤销我们的提交,例如:我们执行了git log 查看我们的提交里是记录,然后执行 git checkout 2889930480bda59dd83fc9ac2fd31611a84257d1 a.text 把我们的提交撤销,但是这种撤销之后,你会发现你的修改全部都没有了。什么意思呢?就是说,这个命令会把你在这个commit id 提交的内容从仓库中检出覆盖掉你的修改。

最后执行git push 把你的代码推送到远端服务器。ps:git 不会把空的目录加入到项目中,所以我们可以在空的目录下面加个无用的空文件,这样就可以把空的目录加入版本控制当中。
网友评论