失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > git常用命令(一)本地库初始化git init / add / commit / status / rm --cached / restore / reset

git常用命令(一)本地库初始化git init / add / commit / status / rm --cached / restore / reset

时间:2020-08-02 02:15:16

相关推荐

git常用命令(一)本地库初始化git init / add / commit / status /  rm --cached /  restore / reset

1、git本地库初始化

命令:git init

效果:Initialized empty Git repository .git文件存放和本地库相关的子目录和文件

2、设置签名

2.1、 签名的形式

用户名 :wjf

E-mail地址: HelloGit@

2.2、签名的作用

标识不同开发人员的身份,不用用户名(wjf)和E-mail地址(HelloGit)相同

辨析:这里设置的签名(用户名、E-mail地址)和登录远程库/代码托管中心(Github)的用户名、E-mail地址完全没有任何关系,甚至于这里签名的E-mail地址可以不存在

2.3、签名设置的命令

项目级别/仓库级别:在当前本地库范围内有效

保存位置:/.git /config

git config user.name wjf_pro

git config user.email HelloGit@

电脑系统用户级别: 登录当前操作系统的用户范围

保存位置:用户home目录/.gitconfg

git configglobaluser.name wjf_pro

git configglobaluser.email HelloGit@

进入用户home目录(cd ~)查看目录资源(ll -la|less)找到.gitconfig文件,查看该文件内容(cat)

也可用完整目录去cat:cat ~/.gitconfig

优先级:项目级别>大于系统用户级别(就近原则)一般没必要两种都设置,通常设置一个系统用户级别就够了

3、git 版本控制相关命令

3.1、git status

No commits yet没有任何已经提交了的东西(本地库里面什么都没有)

nothing to commit没有什么可提交的东西(暂存区里面什么都没有)

create/copy files and use“git add” to trackgit add 来追踪文件

没提交的(git add)放在暂存区

提交了的 ( git commit ) 放在本地库

按照提示我们来新建文件

进入页面后直接输入字符,然后按esc 再ctrl+z退出vim编辑器

vim good.txt新建文件插入三行字符

退出之后再次git status如下图(这里我新建的是text.txt但是出现的是.test.txt.swp暂时不知道是什么原因 应该是自己vim编辑器那出了问题,不过不影响分析git的使用)

Untracked files:

(use “git add …” toincludein what will be committed)

存在未追踪文件使用git add将文件包含将要被提交的地方**(git add将待提交文件保存/包含到暂存区)**

nothing added to commit 没有往要提交的地方放任何东西(就是没有放到暂存区的意思)

3.2、git add

根据提示来git add 再git status

Changes to be committed:

(use “git rm --cached …” to unstage)

new file: .test.txt.swp

(存在)需要提交的改变:new flie

可以看到此时没有像git add之前那样提示存在未追踪的文件

执行git add就放到了暂存区

3.3、git rm --cached

根据提示撤销git add看效果

git rm --cache 后再次提醒Untracked files 但是我们的**.test.txt.swp文件依然是存在的,rm只是在暂存区删除 但是工作区没有**

3.4、git commit

从暂存去提交到到本地库

直接git commit fileName 会进入到vim编辑器

Please enter the commit message for your changes. Lines starting

with ‘#’ will be ignored, and an empty message aborts the commit.

每次必须对提交输入提交信息commit message说明本次提交干了什么,否则提交会被拒绝

进入后(在一般模式)输入**:set nu回车显示行号

i 键进入编辑模式(底部出现–插入–)即可输入commit message

输入完成后按esc :wq**退出编辑器

退出后如下

[master (root-commit)a90a30d] my first commit.new file .test.txt.swp

1 file changed, 0 insertions(+), 0 deletions(-)

create mode 100644 .test.txt.swp

首次提交是root-commit

后面那串数字a90a30d可以看成是本次提交的版本号

再后边是刚才我们输入的commit message

增加了0行 删除了0行(实际上自己在test.txt里面增加了三行但是文件变成了 .test.txt.swp,正常的图如下)

执行git commit 后再看git status

nothing to commit, working tree clean

暂存区没有什么要提交的工作区也没有什么修改或者新建

至此我们是新建test.txt去测试git 现在我们对已经存在的test.txt去做修改(加了一行)

Changes not staged for commit:

(use “git add…” toupdatewhat will be committed)

(use “git restore…” todiscardchanges in working directory)

modified:.test.txt.swp

no changes added to commit (use “git add”and/or“git commit -a”)

改变/修改没有staged/暂存使用git add添加至暂存区(update区别于新建文件时的include

git restore/checkout后面涉及到版本的前进后退时再仔细讲

检测到文件.test.txt.swp 的modified操作(区别于之前新建文件时候的new file提示符)

没有添加到可被提交的修改(实际就是没有添加到暂存区)此时可有两种方法:

方法一 git add + git commit

方法二 git commit -a

若文件未追踪(Untracked)只能用git add 方法一去追踪并提交文件(如新建文件时提示use “git add” to track“”)

若文件已经追踪则以上两种方法都可

方法一可撤销(rm --cache) 方法二不可

这里采用方法一 add后status 看到modified变成了绿色

git reset HEAD命令 以后再说(unstage将其变成没有被暂存的状态)

提交信息更简单的方法

git commit -m " commit message" fileName

提交后

区别于第一次提交root commit这里是master+版本号

总结

git status

查看工作区、暂存区状态(untracked、已添加到暂存区、工作区clean)

git add fileName

将工作区文件的 " 新建 / 修改 " 添加到暂存区 git rm --cache(撤销add)

git commit -m “commit message” fileName

将暂存区内容提交到本地库

说明:之前vim text.txt出现文件变成swp估计是因为text是关键字?重新建了good.txt和bad.txt做测试,后缀名(.txt和.text都可)后续内容都以good为例(对good再修改再提交)

如果觉得《git常用命令(一)本地库初始化git init / add / commit / status / rm --cached / restore / reset》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。