likes
comments
collection
share

某 Git 的入门笔记(1)基本原理与入门操作

作者站长头像
站长
· 阅读数 38

这是一篇多多多年前刚学习 Git 的时候写的笔记。

Git 基本原理

某 Git 的入门笔记(1)基本原理与入门操作

  • 工作区(Working Directory) :在电脑里能看到的目录
  • 版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
  • stage(或者叫index):暂存区
  • Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

注:

  • Git 跟踪并管理的是修改,而非文件。
  • 每次修改,如果不用git add到暂存区,那就不会加入到commit中。

Git 入门操作

  • 在安装好 Git 后,首先,应该做一点基础的配置,设定默认的用户名、邮箱地址:
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"
  • 创建一个 Git 仓库(一个由 Git 管理版本的文件夹):
$ mkdir new_rs
$ cd new_rs
$ git init

git init 会创建一个子目录  ./.git, Git 仓库就基于这个目录,其中的内容由 git 自己维护,我们不应该手动修改其中的任何内容。

  • 添加文件到 Git 仓库:
$ git add file_0
$ git add file_1 file_2
$ git commit -m "commit message"

"commit message" 应该简要介绍这一次更改做了什么,方便日后查阅。

  • 看当前工作区状态(有没有改变了但未add、commit的文件)
$ git status
  • 看文件修改内容

git status 展现了更改了的文件,如果想要看那个文件具体更改了那些内容,就可以用 git diff:

$ git diff
  • 退回到某个过去的版本

查看提交过的版本历史记录:

$ git log

如果觉得过于冗长,可以用: git log —pretty=oneline,这样就一行显示一条记录。

在 log 的结果中,我们可以看到顶部的记录(HEAD),就是最近一次提交的版本。各个版本由一串 SHA1 编码作为 ID 来唯一识别。

要回到上一个版本可以用:

$ git reset --hard HEAD^

HEAD^ 是上一版本,HEAD^^ 是上上版本,HEAD~100 是往上100个版本。

恢复到以前的版本后,git log 中 最后一个版本(之前的HEAD)会消失,但也不是完全消失了。用那个消失版本的ID(前几位就行,不用写完整的一长串)可恢复:

$ git reset —hard 1094a

恢复,其实就是,更改当前的版本,其实就是,把HEAD指向不同版本号。

但如果你找不到之前的版本 ID 是多少了,可以用:

$ git reflog

git reflog 记录了每一次命令历史(操作记录),这就可以找到消失的新版号。

  • 查看工作区和版本库里面最新版本的区别
$ git diff HEAD -- readme.txt
  • 撤销修改(丢弃工作区的修改)(改乱了工作区某个文件的内容,想直接丢弃工作区的修改时)
$ git checkout -- readme.txt

这里可能有几种情况:

  1. readme.txt 自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  2. readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
  • 把暂存区的修改撤销掉(unstage),重新放回工作区
$ git reset HEAD readme.txt

这里也有几种不同场景:

  1. 当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令 git checkout -- file

  2. 当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令 git reset HEAD file,就回到了场景1,第二步按场景1操作。

  3. 已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

  • 删除文件

先在系统里 rm ,再 git rm

某 Git 的入门笔记(1)基本原理与入门操作

转载自:https://juejin.cn/post/6995864236450643981
评论
请登录