一.创建版本库和第一次提交
首先先设置git的一些变量,这些变量将永久的存储在全局文件(主目录下的.gitconfig)或系统文件(etc/gitconfig)中。
1.配置用户名和邮件地址,这个在版本库提交时将用到,可以说是使用必须的一步。用以下命令配置。
git config --global user.name "your name"
git config --global user.email "your email"
2.设置一些git的别名,也就是把一些git命令的简写,方便自己的操作。
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
也可以用如下命令在系统文件中设置别名
git config --system alias.ci commit
git config --system alias.st status
git config --system alias.co checkout
git config --system alias.br branch
使用git config -e --global就可以看到刚才做的一些配置,其实可以将user和alias理解为特定名称的对象,而我们配置的是这些对象的属性。
二.初始化版本库
接下来,我们就要真正在项目中使用git,首先使用下面命令创建一个新的版本库。
mkdir demo
cd demo
git init
或者
git init demo
cd demo
执行完上述命令,会生成一个隐藏目录.git,它就是git版本库,.git所在的目录/demo称为工作区。目前git版本库空无一物,下面就来为这个版本库加点东西。执行下面命令,创建一个welcome.txt文件,内容为"hello,world."
echo "hello,world.">welcome.txt
将这个文件加入到版本库
git add welcome.txt
git commit -m "init"(或者使用别名git ci -m "init")
如果直接使用git commit(不加-m),git会自动打开编辑器,让你输入提交说明。
提交后的信息是三行,第一行是说提交在master分支,第一次提交(root-commit)ID为7e1c7e9。第二行是说本次提交有一个文件改动,一行插入。第三行是说本次提交了新文件welcome.txt
三.认识.git文件
.git文件只存在根目录下,那么在子目录下执行git命令,git是怎么工作的呢?实际上git会依次向上递归查找,知道找到版本库所对应的.git文件。在飞git工作区执行git命令或因为找不不到.git文件而报错
可以用以下命令找到版本库或根目录所在的位置
git rev-parse --git-dir
git rev-parse --git-toplevel
四.git config个参数的区别
在进行git配置时,有用到--global参数,有用到--system参数,二者有何区别呢?
执行下面命令将打开.git/config文件进行编辑
git config -e
执行下面命令将打开主目录下的.gitconfig(在用户目录下)文件进行全局配置
git config -e --global
执行下面命令将打开/etc/gitconfig(在git的安装目录下)文件进行系统级的配置
git config -e --system
以上三个配置文件分别是版本库级别的配置,全局配置和系统级的配置。三者其实都可以做同样的事情,不过在优先级上有差别。版本库级别配置优先级最高,全局配置次之,系统级配置优先级最低。也就是说你如果使用git config --global user.name "name"设置了全局级别的用户名,同样又用git config user.name "another name"设置版本库级别的用户名,那么在提交的时候将使用后者配置的用户名(注意设置别名不会被覆盖,因为别名可以是多个)。