等组长走了,左小白就带着这三个疑问去寻求答案,首先工做区、暂存区、本地仓库、远程仓库都是啥?一顿搜索引擎,看了几篇文章,大概是明白了。git
原来新增,更改,删除文件这些动做,就是发生在工做区,当咱们使用命令git add
,那么这些更新就会出如今暂存区中。而本地仓库和远程仓库又是什么鬼?原来执行git commit
,代码是提交到本地仓库,再执行git push
,才把代码提交到远程仓库,这和 SVN 仍是有很大的区别的,怪不得组长问我 git commit
就提交了?我太菜了。web
问题来了,我若是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 了,心想赶忙溜,狗命要紧,第三个疑问明天再整吧。搜索引擎
坐了一个小时的地铁,小白终于到家了,洗洗刷个抖音,知足地睡去了。url
叮咚叮咚……7 点的闹钟响了……spa
起床,咦,内内怎么湿乎乎的,好像昨晚梦到女神,还跟她**,OMG。code
又是一个小时的地铁,来到公司,左小白还想着“他若是删除了文件,怎么 add?”cdn
提交全部被删除和修改的文件到数据暂存区。
提交全部修改的和新建的数据暂存区。
提交全部被删除、被替换、被修改和新增的文件到数据暂存区。
左小白测试了一下,发现git add .
和git add -A
功能是同样的,无论了。
组长:小白,你登陆功能是作好了吧。
左小白:嗯,作好了。
组长:自测没问题的话,把代码提交上来吧,而后找项目经理 review 下。
左小白:好的。
以前组长已经帮左小白 add 好了,小白就直接 commit,而后 push 成功了。微信上他就找项目经理,帮忙 review 下代码,大约 20 分钟后,项目经理来消息了,丢了一个文档,小白一头雾水,有点很差意思,但代码还得上库,鼓起勇气问道:“这是什么?” 项目经理:这是代码提交规范,你的这个提交信息“Login”不符合规范,按照“[模块][bug/feature]描述”改下。
好吧,这给小白带来了难点,他代码都已经上去了,还怎么改提交消息?难道要把代码 Abandoned 从新提交?那就试试吧!当左小白执行git status .
,提示根本就没有文件修改,这行不通啊,怎么办?怎么办?
未完待续……
更多文章请关注公号:吴小龙同窗。