Git基本操作 | 青训营笔记

72 阅读2分钟

初始配置

设置

  1. 修改用户名:
git config --global user.name "xxxx(新的用户名)"
  1. 修改邮箱:
git config --global user.email "xxxx@xxx.com(新的邮箱)"

查看

  1. 查看用户名:
git config user.name
  1. 查看邮箱:
git config user.email
  1. 查看所有配置信息:
git config --list

初始化仓库

要使用 Git 进行版本管理,必须先初始化仓库。Git 是使用 git init 命令进行初始化的。 如果初始化成功,执行了 git init 命令的目录下就会生成 .git 目录。这个 .git 目录里存储着管理当前目录内容所需的仓库数据。

$ mkdir gitDemo
$ cd gitDemo
$ git init
Initialized empty Git repository in D:/gitDemo/.git/

查看状态

git status 命令用于显示 Git 仓库的状态。 工作树和仓库在被操作的过程中,状态会不断发生变化。在 Git 操作过程中时常用git status命令查看当前状态,可谓基本中的基本。

$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

提交文件到暂存区

如果在 Git 仓库的目录下创建了文件,那么该文件并不会被记入 Git 仓库的版本管理对象当中。因此我们用 git status 命令查看文件时,它会显示在 Untracked files 里。 要想让文件成为 Git 仓库的管理对象,就需要用 git add 命令将其加入暂存区中。

暂存区是提交之前的一个临时区域 使用下方命令可以将当前目录所有文件添加到 git 暂存区

$ git add .

这时候我们再次查看状态会发现

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   index.html

保存到仓库

git commit 命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。通过这些记录,我们就可以在工作树中复原文件。

$ git commit -m '第一次提交'
[master (root-commit) cc089ed] 第一次提交
 1 file changed, 1 insertion(+)
 create mode 100644 index.html

如果在 git commit 后不添加 -m 参数会进入一个编辑器中

$ git commit

这里可以用来提交更加详细的信息,编辑器中记述提交信息的格式如下:

  • 第一行:用一行文字简述提交的更改内容
  • 第二行:空行
  • 第三行以后:记述更改的原因和详细内容 提交完成后,可以再次查看状态
$ git status
On branch master
nothing to commit, working tree clean

当前工作树处于刚刚完成提交的最新状态,所以结果显示没有更改。

查看提交日志

git 1og命令可以查看以往仓库中提交的日志。包括可以查看什么人在什么时候进行了提交或合并,以及操作前后有怎样的差别。 我们先来看看刚才的git commit命令是否被记录了。

$ git log
commit 27046b04e4bc1f3e58fd3ded3320cf581348f09b (HEAD -> master)
Author: user.name <user.email>
Date:   Sun Jan 15 16:12:52 2023 +0800

    第二次修改

    这一次添加了新一行的内容

commit cc089ed9dcfeeecd18a6c5eba0fad59775718e9d
Author: user.name <user.email>
Date:   Sun Jan 15 16:01:29 2023 +0800

    第一次提交

git log后可以添加参数

  • --graph:用图表的形式输出提交日志,在分支操作中很直观。

查看更改前后的变化

git diff命令可以查看工作树、暂存区、最新提交之间的差别。

$ git diff
diff --git a/index.html b/index.html
index 9fd2c35..b16c3b1 100644
--- a/index.html
+++ b/index.html
@@ -1,2 +1,4 @@
 第一次提交
-第二次修改
\ No newline at end of file
+第二次修改
+<br>
+第三次修改
\ No newline at end of file

这里解释一下显示的内容。+ 号标出的是新添加的行,被删除的行则用**-**号标出。