前言准备
通过命令git --version
可以查看当前git的版本
在开始git之旅前,需要对git进行一下配置,首先,需要告诉git当前用户的姓名和邮件地址,这里配置的用户名和邮箱地址将在版本库提交时用到
git config --global user.name "XXX"
git config --global user.email "XXXXXX@XX.com"
如果想要自定义一些命令的快捷键,git也提供了相应的命令实现,比如我想设置git st为git status命令,可以使用如下代码设置st快捷键:
git config --system alias.st status
sudo git config --system alias.st status
第一次提交
首先建立一个新的工作目录,然后进入该目录并初始化创建一个版本库,如下操作:
mkdir gitrepo
cd gitrepo
git init
git init用于将一个本地的目录初始化为一个git工作目录,git init后对应的目录下会有一个.git隐藏文件,他就是git版本库目录,又叫仓库repository
在里面使用命令行的形式创建一个文件并输入相应信息:
echo "hello git" > index.txt
然后将新建立的文件添加到版本库中,这里需要进行两步,首先将它加到暂存区中,然后再添加到版本库中
//添加到暂存区 git add fileName
git add index.txt
git commit -m "提交index.txt文件到版本库中"
git定位版本库
当工作区中包含子目录,并在子目录中执行git命令时,如何定位版本库呢?
实际上,当在git工作区的某个子目录下执行操作的时候,会在工作区目录中依次向上递归查找.git目录,找到的.git目录就是工作区对应的版本库,.git所在的目录就是工作区的根目录,.git/index文件记录了工作区文件的状态信息(实际上记录的是暂存区的状态)
git config命令的各参数有何区别
git config命令有三种形式:–system和–global还有不使用参数。现在来依次进行操作讲解
git config -e
git config -e --global
git config -e --system
是谁完成的提交?
前面设置了git全局下的用户名和邮箱地址,这里执行下面的命令清除之前设置的用户名和邮箱:
-- -- .
-- -- .
接下来再尝试一次提交,查看输出日志:
从输出的错误日志可以看出,提示没有设置用户名和邮箱地址,从这里可以看出,提交者就是我们之前全局设置的用户名和邮箱地址
git commit 提交命令参数说明:
git commit –amend:对刚才的提交进行修补,用于改正前一次的提交中错误使用的用户名和邮箱地址,不会进行新的提交
git commit –allow-empty:允许空白提交,使用此参数表示将要进行一次空白提交(没有进行任何增删改查等改动的提交)
git commit –reset-author:同步修改Author的Id信息,使用此参数会重置AuthorDate的信息;默认只会影响提交者的id