Git命令入门

关于Git命令的一些小汇总

初始化设置

1
2
3
4
git config --global user.name"Your Name"   配置用户名
git config --global user.email"mail@example.com" 配置邮箱
git config --global credential store 存储配置
git config --global --list 查看用户配置信息

注:

省略参数(Local):表示本地配置,只对本地仓库有效

global:全局配置,所有仓库生效

system:系统配置,对所有用户生效

新建版本库(仓库)

1
2
3
4
git init <project-name>
创建一个新的本地仓库(省略project-name则在当前目录创建)
git clone<url>
克隆一个远程仓库

Git的工作区域和工作状态

四个区域

工作区(Working Directory)

就是你在电脑里能实际看到的目录

暂存区(Stage/Index)

暂存区也叫索引,用来临时存放未提交的内容,一般在.git目录下的index中

本地仓库(Repository)

Git在本地的版本库,仓库信息存储在.git这个隐藏目录中。

远程仓库(Remote Repository)

托管在远程服务器上的仓库。常用的有GitHub、GitLab、Gitee.

工作状态

已修改(Modified)

修改了但是没有保存到暂存区的文件

已暂存(Staged)

修改后已经保存到暂存区的文件

已提交(Committed)

把暂存区的文件提交到本地仓库后的状态

文件状态

main/master 默认主分支

**Origin **默认远程仓库

HEAD 指向当前分支的指针

HEAD^ 上一个版本

HEAD~ 上四个版本

特殊文件

.git Git仓库的元数据和对象数据库

.gitignore 忽略文件,不需要提交到仓库的文件

.gitattributes 指向当前分支的指针

.gitkeep 使空目录被提交到仓库

.gitmodules 记录子模块的信息

.gitconfig 记录仓库的配置信息

添加和提交文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
$ git status  #查看仓库当前状态
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)
#空仓库会显示上面的状况
#之后,可以用Linux或者Vscode创建一个文件,这里用Linux
$ echo "ss" >file1.txt
#此时再次查看状态,会发现变化
On branch master

No commits yet

Untracked files:
(use "git add <file>..." to include in what will be committed)
file1.txt

nothing added to commit but untracked files present (use "git add" to track)
#之后使用添加命令,将文件放到暂存区中
$ git add file1.txt
On branch master

No commits yet

Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file1.txt
#会发现,文件的状态再次被改变,表示该文件已经被添加到了暂存区域中
#在括号中的那一栏表示取消缓存
#之后,尝试将文件提交到仓库之中
$ git commit -m "ss"
[master (root-commit) e3c2751] ss
1 file changed, 1 insertion(+)
create mode 100644 file1.txt
#显示以上信息,此时再来查看仓库的状态
$ git status
On branch master
nothing to commit, working tree clean
#file已经不见了,已经到仓库里面了
#之后可以使用git log 查看仓库提交信息
$ git log
commit e3c2751597d4b423fa23c338814725974282b6c8 (HEAD -> master)
Author: huangjinhong <3392591652@qq.com>
Date: Sun Dec 24 19:38:00 2023 +0800

ss
#log后面可以加一些东西,来查看简洁的提交记录
$ git log --oneline
e3c2751 (HEAD -> master) ss


Git命令入门
https://gaster44.github.io/2023/12/24/Git命令入门/
作者
huangjinhong
发布于
2023年12月24日
许可协议