前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git使用技巧

Git使用技巧

作者头像
天道Vax的时间宝藏
发布2021-08-11 14:27:48
3310
发布2021-08-11 14:27:48
举报
文章被收录于专栏:用户5305560的专栏

必知的 add & commit

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

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

本地改完了代码,就用

代码语言:javascript
复制
git add 文件名/文件夹/多个也可

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

然后再

代码语言:javascript
复制
git commit -m "comment"

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

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

代码语言:javascript
复制
git commit --amend

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

Log

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

直接 run

代码语言:javascript
复制
git log

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

代码语言:javascript
复制
commit 5abcd17dggs9s0a7a91nfsagd8ay76875afs7d6
Author: Xiaoqi<xiaoqi@163.com>
Date: xxx xxx xxx
改了 Test 文件

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

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

代码语言:javascript
复制
git --oneline

就一行打印出来了。

或者:

代码语言:javascript
复制
git reflog

更常用一些。

Reset

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

代码语言:javascript
复制
git reset --hard <编号>

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

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

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

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

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

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

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

git reset --hard xxx

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

git reset --soft xxx

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

git reset --mixed xxx

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/06/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 必知的 add & commit
  • Log
  • Reset
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档