玖叶教程网

前端编程开发入门

git入门教程0010(git入门教程简单易懂)

上一节呢,我们学会了提交代码了,但是,代码真的提交了吗?使用git log来查看我们提交的历史记录,发现确实提交了,那么,我们的代码是否已经提交到远程仓库呢,进入我的远程仓库目录proj.git,执行 git log查看提交历史记录:

奇怪,为啥会告诉我说我的仓库还没有任何提交呢? 其实,这就是我们git强大功能所在,我们每个每个工作的 git 目录中,它都是一个独立的git仓库,我们可以在这个仓库里面执行提交、回滚等等操作而不影响其他人,而对于SVN达不到这样的目的。也许你会觉得这有点繁琐,直接提交不就完事了吗??那是因为你还没有体会到这样做的好处,之后我会给到家娓娓道来。回到正题,我的代码写完了,现在要怎样才能提交,让测试或者策划人员验收呢,那就执行 git push吧,git push会吧我们当前仓库(trunk)提交的内容全部提交的远程的仓库当中(proj.git)如下:

可以看到,提交完成了,因为我们远程仓库(proj.git)中没有任何内容,所以在我提交的时候,git 会默认的在我的远程仓库中创建一个与我trunk中对应得分支 master,分支的概念我们先忽略。代码提交了,我们当然要了验证一下咯,同样进入到远程仓库的目录proj.git中,执行 git log

可以发现,很神奇的,居然看到了我trunk提交的日志了。既然成功提交了,那其他人是否也能拿到我提价的文件了呢.现在假设我是测试人员,现在去取远程仓库最新的代码,

现在获取时,它不再提示我正在克隆一个空的仓库了,而是有内容的,ls 看一下,可以发现,我在trunk提交的Test.cpp已经获得到了

测试拿到代码,项目跑起来,,,当当当当,大家一起来找bug,果然,测试要来怼了,我的Test.cpps输出的字符串没换行,怎么办呢,赶紧修呗,堵住他的嘴,修改Test.cpp增加换行,

当当当,这bug小case,分分钟搞定,那就提交吧,喔不不,上个厕所先,让测试等多一会儿,让他以为为了修这个bug我很努力。上玩厕所回来准备提交,糟糕、、、我刚改了什么了??忘了!git status 看一下,

喔,它把我改的文件在 工作区标红提示我了,改了Test.cpp,那我改了啥呢?这是后就要用 git diff ,唉,绿色的不就是我刚刚改的吗??对对,git diff 命令会以我最近一次提交的内容与我目前工作去的内容做一个比对,增加的内容,绿色表示,删除的内容,红色表示。

好吧,放心的提交,git add . ,这是将我的代码提交至 暂存区,表示将要正式提交了,,可是还是不放心,再确定一次刚刚改的内容,git diff,可以发现,没有任何提示,那难道就不能再看我改了什么了吗??当然可以,git diff --cached,表示将我的暂存区的内容与最近一次提价的历史记录做对比,发现和之前一样,还绿色表示,这下放心了,git commit -m "改bug"

别忘了哟,现在只是在自己的本地提交,要提交测试,执行 git push,好了,吼一声,让测试赶紧测试,这时测试要更新代码了,git fetch origin(这里的 origin代表远程分支的名字,之后解释,这里origin可有可无,默认origin).

我去,代码提交了,也更新到了,怎么提交日志里面没有呢?这是因为虽然代码是更新下来了,但是还没融合到我当前工作的分支里,执行 git rebase,将我更新到的内容整合进来。(为啥要这样做,等后面讲了分支之后再解释)

这是一个,好奇心比较重的测试,小婊砸,这么久,到底改写啥,让我看看。git show,查看最近一次提交的修改差异:

这个命令结果是和 git diff一样的,这里我就不贴图了,好了,啰嗦这么多,今天就到这里吧,,记得继续关注喔,

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言