日常笔记:git

Preface

  其实自己也用了好久好久的 Git 了,但是都是零零碎碎的,不成系统。这篇博客就是记录我学习使用 Git 的笔记吧,一是方便自己查阅,同时也希望可以帮到你。
  无特殊声明,我都是在Linux环境下进行操作。中间参考了网上其他人的笔记或者教程,我会在后面注明。
  这篇博客会保持更新。^_^

Notes

在进行 Git 操作之前,我们要切换到 Git 仓库目录下。这时候执行一个命令查看当前目录是不是 Git 仓库目录:

# 查看当前 git 仓库的一些状态,这个命令是最频繁使用的命令之一
$ git status 

如果初次使用,一般我们一开始并不在 Git 仓库目录下。这时候终端会显示如下:

这里写图片描述

这时候,需要输入:

$ git init # 初始化 git 仓库

完成初始化后,显示如下:

这里写图片描述

这时候,我们新建一个文件:

$ touch helloWorld.md # 新建一个*.md文件
$ git status # 再次查看状态信息

这里写图片描述

说明一下,这个新建的 helloWorld.md默认是在 master分支(branch)。命令行中提示这个 helloWorld.mdUntracked files,说明这个 helloWorld.md文件还未被跟踪,即还未提交到 git 仓库里,而且出现了一个提示: use “git add” to track,即可以用 git add <files>来操作你想提交的文件。

编辑上面创建的helloWorld.md之后,用git add <files>命令:

这里写图片描述

再使用 git status命令,可以看见,状态改成了:

Changes to be committed # 意思是 helloWorld.md 文件等待被提交

这时候又有一个提示,即:

# 使用下面提示的命令移除缓存。
use "git rm --cache <file>..." to unstage



因为 git 分为三个部分:一部分是你自己的文件;另外一个是缓存区;最后一个是本地库。
当你修改了自己的文件后,你会git add将修改保存到缓存区,然后再用git commit推送修改到本地库中。

进行提交到本地库:

$ git commit -m "提交的描述信息" 
# 如果我们这里不用-m参数的话
# git将调到一个文本编译器(通常是nano)来让你输入提交的描述信息

可能一天下来,你对工作树中的许多文档都进行了更新(文档添加、修改、删除),但是我忘记了它们的名字,此时若将所做的全部更新添加到索引中,比较轻省的做法就是:

$ git commit -a -m "提交的描述信息"

git commit命令的-a选项可只将所有被修改或者已删除的且已经被git管理的文档提交到仓库中。

如果只是修改或者删除了已被Git 管理的文档,是没必要使用git add命令的。git add命令除了能够判断出当前目录(包括其子目录)所有被修改或者已删除的文档,还能判断用户所添加的新文档,并将其信息追加到索引中。

对于已经修改提交过的注释,如果需要修改,可以借助git commit --amend来进行

# git commit --amend

更多详细的git commit内容,查阅git commit文档,如果我用到了,会在更新。但是这里作为示例,我只用如下的:

$ git commit -m 'first commit'

# 再输入 git status
$ git status

这里写图片描述

这个时候再输入 git status,会提示: nothing to commit, working directory clean,没什么要 commit了的,工作目录是 clean的。

这时候,输入:

$ git log # 查看所有产生的 commit 记录

会有如下显示:

这里写图片描述

git log命令可以查看所有产生的 commit 记录,以及 commit 人的账号以及时间信息,其其提交时候的附带信息( git commit -m 'first commit')叫 first commit

前面已经说过了,git 分为三个部分,第一个部分是本地文件,第二个是缓存区,第三个是本地库。我们通过git add将本地文件add到缓存区,再通过git commit将缓存区文件commit到本地库。因此stormzhang的AndroidDeveloper专栏有这样的解释

看到这里估计很多人会有疑问,我想要提交直接进行 commit 不就行了么,为什么先要再add一次呢?首先git add是先把改动添加到一个「暂存区」,你可以理解成是一个缓存区域,临时保存你的改动,而git commit才是最后真正的提交。这样做的好处就是防止误提交,当然也有办法把这两步合并成一步,不过后面再介绍,建议新手先按部就班的一步步来。

下面就要写 Git 中的很重要的branch(分支)的概念了。
嗯,这次先写到这里。

Reference

  1. https://git-scm.com/docs
  2. http://blog.csdn.net/hudashi/article/details/7664409
  3. https://zhuanlan.zhihu.com/p/21269318?refer=stormzhang
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值