什么是GIT
Git是一种分布式的版本控制系统,以往的CVS,SVN都是集中式的版本控制,所有的提交都必须要连接网络才能连接到远程进行代码的提交.
Git不同于以上两种系统,它会把远程的代码全部拷贝下来,可以放在本地进行提交.在本地进行文件版本的控制.
同时它的流行不仅仅上面所说的,它还有更加高深的内容,让我们开始学习吧!
Git之Hello,World
在使用之前,我已经假设阅读者已经安装好了Git,并设置好了环境.那么让我们开始看吧!
设置环境
- 打开GitBash
我的项目是放在F盘下的work目录当中的gitStudy工作目录当中
- 切换到该项目下
cd /f/work/gitStudy
- 设置用户名和邮箱,用户名和邮箱是辨别唯一用户提交的重要依据,特别是多人协作开发的时候,能够方便找到文件究竟是谁修改了.
git init #初始化git环境
git config --global user.name 'smallBag' #设置全局用户名
git config --global user.email 'bsfeng@foxmail.com' #设置全局用户邮箱
- 查看目录
ls -a #查看隐藏文件
cd .git #进入.git目录
vim config #查看刚才配置的文件
- 初始化文件
echo "Hello" > welcome.txt #输出Hello到Welcome.txt文件中
git add welcome.txt #将文件添加到git版本控制之中
git commit -m 'initialized' #提交到本机版本控制系统,然后输入提交的内容
- 查看提交情况
git status #查看状态
git log #查看提交日志
配置文件修改
- git配置其他信息
除了可以使用Vim
进行文件的读取然后再编辑,Git对ini文件也可以直接编辑
git config hello.world 'test' #测试读写config文件
git config hello.world #对值的读取
- 自己创建配置文件进行读写
GIT_CONFIG=test.ini git config world.hello '###' # 创建一个名为test.ini的文件,然后写入一个键为world.hello,值为###的信息
GIT_CONFIG=test.ini git config world.hello # 读取配置文件中的值
- 删除配置文件中的值
git config --unset --global user.name #可删除全局用户名
git config --unset --global user.email #删除全局邮箱
git config user.name #无法查看到用户名
git config user.email #无法查看到邮箱地址
GIT_CONFIG=test.ini git config --unset world.hello #删除world.hello对应的字段
rm -f test.ini #删除test.ini文件
测试删除用户名和密码之后再提交
git config --unset --global user.name #可删除全局用户名
git config --unset --global user.email #删除全局邮箱
git commit --allow-empty -m 'a empty commit!' #允许在没有发生文件变更的情况下,执行空内容提交
git log #查看提交日志
发现在删除了本地user.name
之后,git会默认使用全局的user.name
,如果没有,将会提醒你设置一个全局的user.name
删除全局用户名和邮箱之后,再提交,发现无法通过git log
查看到提交日志了,所以这也是为什么必须要配置用户名和邮箱
重新修正刚才未提交的内容
git commit --amend --allow-empty --reset-author #修正刚才未提交的内容
git log #查看日志
说明:
--amend
:对刚才的提交进行修补--allow-empty
:允许进行空白提交--reset-author
:将作者信息同步提交
备份当前内容
git clone gitStudy git-study-0226 #备份当前项目
所谓的克隆,就是把远程的分支或者本地的git版本库内容复制下来,在本地就相当于目录的重新复制
解释
- 本次文章中重点说了如何使用git,以及git的简单操作
- 操作步骤,创建文件-add到git版本库-commit-提交到远程
- 对应的git命令如下:
git add 文件
git commit -m '注释'
git push #暂时未讲
- 对配置文件的查询,添加,修改/删除
git config 键名称
如git config user.name
从git目录中的config文件中进行读取GIT_CONFIG=test.ini git config 键名称
表示从对应的文件中进行读取git config --unset 键名称
删除对应的键GIT_CONFIG=test.ini --unset git config 键名称
从指定的文件中删除对应的键- 修改键就是直接添加