一分钟玩转 Git

简介: 今天又有新来的小朋友问我关于 Git 的用法,我发现还是有蛮多新人不会用的,或者用不好的。其实想想自己刚工作时也是倒腾不清楚这些参数和用法,而且总怕出错,慢慢的多看文档、用得多了就熟悉了,今天简单跟大家分享几点。

必知的 add & commit


首先我们要清楚在本地的三种状态:


image.png


好吧我把命令已经写上去了。


本地改完了代码,就用


git add 文件名/文件夹/多个也可


提交到缓存区,这里如果文件改动的比较多,但又不是每个都需要提交,我会设置 git ignore file,就表示这些文件不要提交,比如在 build project 的时候会自动生成的那些文件等等。


然后再


git commit -m "comment"


才会到本地库。一般后面都会跟个 -m 加句 comment,简单说下改了啥,像我们公司大家默认也会把 Jira链接附上,这样就知道这个改动对应哪个任务。


那如果想再改,再重新 git add 即可,但是 commit 这句需要改成


git commit --amend


这样就还是一条 git log 信息。


Log


git log 可以让我们查看提交过的日志,这个主要是因为如果需要对版本进行前进 or 后退的(下一个 reset),就需要用到编号


直接 run


git log


的话就会显示一大坨信息,从近到远显示每次 commit 的 comment 还有作者、日期等信息,比如大概长这个样子:


commit 5abcd17dggs9s0a7a91nfsagd8ay76875afs7d6
Author: Xiaoqi<xiaoqi@163.com>
Date: xxx xxx xxx
改了 Test 文件


commit 后面的这个编号,是每次历史记录的一个索引


这样打印的 log 太多,更简洁的打印方式是:


git --oneline


就一行打印出来了。


或者:


git reflog


更常用一些。


Reset


那我们刚刚说过,如果需要前进或退回到某个版本,就用


git reset --hard <编号>


这样就直接跳到了这个编号对应的那个版本。


那么这个 hard 是什么意思呢?


这里有 3 个参数:hard, soft, mixed,我们一一来说一下。


回到我们最重要的这张图上来:


image.png


我们刚刚说的前进或后退到某一版本,是对本地库进行的操作。


那有个问题:


本地库的代码跳到那个版本之后,工作区和暂存区的代码就和本地库的不同步了呀!


那这些参数就是用来控制这些是否同步的。


git reset --hard xxx


三个区都同步,都跳到这个 xxx 的版本上。


git reset --soft xxx


前面两个区不同步,就只有本地库跳到这个版本。


git reset --mixed xxx


暂存区同步,工作区不动。


所以呢,用的多的就是 hard.


关于 Git 的用法还有很多,如果大家喜欢这个系列还请给我点个「在看」呀,这样我就更有动力去写啦~


悄悄话:每次到了周四都觉得周末快到了,想着今天多干点活明天就可以早下班了,所以今天效率超级高哈哈~


目录
相关文章
|
6月前
|
Java Linux 开发工具
git的使用
git的使用
54 1
|
6月前
|
开发工具 git
git blame
git blame 是一个 Git 命令,用于显示某个文件中每一行代码的修改历史。它会显示每行代码的最后一次修改者、修改日期和修改内容。通过 git blame 命令,你可以轻松追踪代码的修改记录,了解团队成员在开发过程中的协作情况。
186 10
|
6月前
|
Ubuntu Linux 开发工具
Git的使用
Git的使用
78 1
|
6月前
|
存储 测试技术 开发工具
你真的会使用Git吗
你真的会使用Git吗
64 0
|
6月前
|
Linux 开发工具 git
git初识
git初识
39 0
|
存储 Linux 开发工具
git相关总结大全
git相关总结大全
|
开发工具 git
哇哦,Git居然还能这样玩~
哇哦,Git居然还能这样玩~
126 0
哇哦,Git居然还能这样玩~
|
开发工具 git
Git 这些小技巧你知道吗?
Git 这些小技巧你知道吗?
122 0
Git 这些小技巧你知道吗?
|
网络协议 安全 Shell
1. Git 初识
集中式 or 分布式 集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS) 缺点:最显而易见的缺点是中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,而被客户端偶然提取出来的保存在本地的某些快照数据就成了恢复数据的希望。但这样的话依然是个问题,你不能保证所有的数据都已经有人事先完整提取出来过。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置
170 0
1. Git 初识
|
前端开发 Shell 开发工具
Git 实用指南
个人整理的一些常用的 Git 概念和命令集合,方便速查和快速解决某些场景下的问题,覆盖了日常开发和协同工作下的一部分场景,不只是命令行的介绍。欢迎关注语雀原文,持续更新! 精简入门 1、克隆仓库 克隆仓库会下载仓库完整的文件、分支和历史记录。
1557 0