带着小白学 Git(一)
前程摘要
Git 是现在用得最广泛的一个代码托管工具,相信大家在决心要学Git之前,就已经认识到它在企业中协作
开发的重要性和在实际开发中的便捷性。这个就不多说了,接下来,让我们一起叩开Git的大门吧!我将采
用一步一步引领的方式,大家只需要循序渐进即可!
准备工作
1.先安装一个 Git 软件(安装教程百度一下即可,在此不详述)
2.右键 git bash here 打开软件
配置 Git
Git 总共有三个配置级别:
system
global
local
system(所有用户):
作用在所有用户上,配置文件位于 git 安装目录下:
/etc/gitconfig
注意:
如果是 windows 下的安装目录,可能位于 `/mingw64/etc/gitconfig`
global(当前用户级别):
作用在当前用户上,配置文件位于用户宿主目录下:
~/.gitconfig
注意:
如果是 windows 下的安装目录,位于 C:\Users\<当前用户>\.gitconfig
local(当前仓库级别):
作用在当前仓库上,配置文件在当前仓库目录下:
/.git/config
Git 配置文件的优先级别:
local > global > system
如何查看 Git 上配置了哪些东西?
语法:git config --list --[<system>|<global>|<local>]
例如:


上图,我分别展示了 system 级别和 global 级别的配置,值得注意的是:
在 global 配置中,我配置了user.name 和 user.email,这两个配置比较重要,它们分别将作为
我们在团队协作开发中的身份标识和联系方式!
现在需要在 global 级别下做一些配置:
语法:
git config --<level> <key> <value>
操作:

注意:
目前我们已经在用户级别的配置上配置了自己的用户名和邮箱,这个配置将会在当前用户的所有 Git
仓库中生效!假如我们想在一个特定的仓库中使用特定的用户名和邮箱,那么,使用local 级别的配
置去覆盖即可!
另外,你喜欢的话,你也可以直接修改对应级别的配置文件!
创建仓库
两种方式:
1.创建一个项目文件夹,cd 进这个文件夹,执行 git init:
2.git init <my_project_name>,这将会创建一个受 git 管理的项目文件夹
创建成功后,会在项目目录中生成一个 .git 目录,它是一个隐藏文件夹,里面存放有 local 配置文
件和 git 的对象信息


刚刚,我为了演示,在 global 级别上配置了错误的 user.name 和 错误的 user.email,现在,为了避
免当前仓库继续沿用这些错误的配置,可以乘机改过来!

从 add 到 commit
现在,我们可以新建一个文件,然后让它纳入 git 的管理中:

注意:
git add <file_name>... :
将会把该文件纳入 Git 的追踪系统中:
添加 tracked 状态
同时,也会把该文件放进 Git 的暂存区中
如果你觉得麻烦,你可以:
git add --all
或:
git add .
这会将工作区所有文件纳入追踪系统和暂存区中
如果你不清楚 git add 还有什么延伸指令和相关作用,你可以:
git add -h 将会列出所有用法!
使用 git commit 命令提交到本地仓库中:

注意:
-m 后面的字符串是该次提交的备注!
git commit -am 和 git commit -m 的区别:
-am:
文件可以不用经过暂存区,从工作区就可以直接提交到本地仓库中,但是该文件必须是
tracked 状态!
-m:
文件必须经过暂存区来提交!
git status
现在,删除该文件,把刚刚的操作重复一遍,这次留意文件状态的变化:


如上图,我们删除了一个文件,然后新建了一个文件,状态显示为一个可以被提交而一个则是未跟踪状态。
读者们看到这里也应该能够猜到,未被追踪的文件是不能使用 git commit 的!
注意:
我在这里使用了一个 git rm 命令,该命令只对被 commit 过的文件生效!如果你自己使用了
rm 命令来删除文件,那么文件是以下状态:

你仍然需要依据提示用 git rm 命令重新删除一遍!
我们把刚刚创建的文件add,暂存区重新变得干干净净了:

注意:
有些人不太明白,为什么不用经过 commit 就能清空暂存区。这是因为,git 的文件的对象类型
为 blob。git 认为,blob 类型的对象只要内容相等,它们就是同一个对象!在这里,我前后的
文件内容和名称都没有发生变化!
现在,用 gitk --all 命令打开图形化界面:

我们可以发现自己提交的 commit log 记录。
转载自:https://juejin.cn/post/6844904065671888910