Py学习  »  Git

Git 从入门到跑路(二)

吴小龙同學 • 3 年前 • 304 次点击  
阅读 102

Git 从入门到跑路(二)

6

等组长走了,左小白就带着这三个疑问去寻求答案,首先工作区、暂存区、本地仓库、远程仓库都是啥?一顿搜索引擎,看了几篇文章,大概是明白了。

原来新增,更改,删除文件这些动作,就是发生在工作区,当我们使用命令git add,那么这些更新就会出现在暂存区中。而本地仓库和远程仓库又是什么鬼?原来执行git commit,代码是提交到本地仓库,再执行git push,才把代码提交到远程仓库,这和 SVN 还是有很大的区别的,怪不得组长问我 git commit就提交了?我太菜了。

问题来了,我如果git add,我又不想 add 了,要怎么操作?亦或是git commit,我想撤销,怎么做?这也是第二个疑惑“他刚刚提交好了,组长一顿操作是如何回退的?”,带着这个疑惑,左小白又是一顿搜索引擎,搜了好十几页才得到答案,某度真是辣鸡。

如果git add后想撤销,可以通过命令git reset HEAD <file>,如果git commit后想撤销,可以通过命令git reset HEAD^,牛逼啊,今天学到知识了,左小白觉得还不够,再整个图,加深记忆。

sequenceDiagram
title: Git 示例
participant A as 工作区
participant B as 暂存区
participant C as 本地仓库
participant D as 远程仓库
复制代码

A->>B:git add <file> B-->>A:git reset HEAD <file> B->>C:git commit C-->>A:git reset HEAD^ C->>D:git push 复制代码

当小白画完这个图,一看时间已经来到 22:30 了,心想赶紧溜,狗命要紧,第三个疑问明天再整吧。

坐了一个小时的地铁,小白终于到家了,洗洗刷个抖音,满足地睡去了。

7

叮咚叮咚……7 点的闹钟响了……

起床,咦,内内怎么湿乎乎的,好像昨晚梦到女神,还跟她**,OMG。

又是一个小时的地铁,来到公司,左小白还想着“他如果删除了文件,怎么 add?”

  • git add -u

提交所有被删除和修改的文件到数据暂存区。

  • git add .

提交所有修改的和新建的数据暂存区。

  • git add -A

提交所有被删除、被替换、被修改和新增的文件到数据暂存区。

左小白测试了一下,发现git add .git add -A功能是一样的,不管了。

8

组长:小白,你登录功能是做好了吧。

左小白:嗯,做好了。

组长:自测没问题的话,把代码提交上来吧,然后找项目经理 review 下。

左小白:好的。

之前组长已经帮左小白 add 好了,小白就直接 commit,然后 push 成功了。微信上他就找项目经理,帮忙 review 下代码,大约 20 分钟后,项目经理来消息了,丢了一个文档,小白一头雾水,有点不好意思,但代码还得上库,鼓起勇气问道:“这是什么?” 项目经理:这是代码提交规范,你的这个提交信息“Login”不符合规范,按照“[模块][bug/feature]描述”改下。

好吧,这给小白带来了难点,他代码都已经上去了,还怎么改提交消息?难道要把代码 Abandoned 重新提交?那就试试吧!当左小白执行git status .,提示根本就没有文件修改,这行不通啊,怎么办?怎么办?

未完待续……

更多文章请关注公号:吴小龙同学

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/62663
 
304 次点击