Git 是现在用得最广泛的一个代码托管工具,相信大家在决心要学Git之前,就已经认识到它在企业中协作 开发的重要性和在实际开发中的便捷性。这个就不多说了,接下来,让我们一起叩开Git的大门吧!我将采 用一步一步引领的方式,大家只需要循序渐进即可! 复制代码
1.先安装一个 Git 软件(安装教程百度一下即可,在此不详述) 2.右键 git bash here 打开软件 复制代码
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,现在,为了避 免当前仓库继续沿用这些错误的配置,可以乘机改过来! 复制代码
现在,我们可以新建一个文件,然后让它纳入 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 commit 的! 注意: 我在这里使用了一个 git rm 命令,该命令只对被 commit 过的文件生效!如果你自己使用了 rm 命令来删除文件,那么文件是以下状态: 复制代码
你仍然需要依据提示用 git rm 命令重新删除一遍! 我们把刚刚创建的文件add,暂存区重新变得干干净净了: 复制代码
注意: 有些人不太明白,为什么不用经过 commit 就能清空暂存区。这是因为,git 的文件的对象类型 为 blob。git 认为,blob 类型的对象只要内容相等,它们就是同一个对象!在这里,我前后的 文件内容和名称都没有发生变化! 现在,用 gitk --all 命令打开图形化界面: 复制代码
我们可以发现自己提交的 commit log 记录。 复制代码