目录
GIT
由来:
Linux内核代码需要版本管理工具维护代码,2002年开始,使用的是BitMover公司的BitKeeper这个商用软件。但是Linux社区崇尚的是自由软件相勃,2005年,Andrew Tridell对BitKeeper的协议进行逆向工程,BitKeeper作者决定收回无偿使用授权。磋商无果,Linus又找不到合适的版本管理工具,决定自行开放分布式版本管理工具,一个月后,Linux内核代码被GitHub上线。
2008年,基于WEB使用Git进行版本控制的软件托管服务的网站GitHub上线
2016年5月9日,11年后,BitKeeper开源,发布在GitHub上
特点:
1、支持离线工作,多点同步
2、速度快
3、使用40位哈希值标识版本号
4、本地库、缓冲区,中心层三层结构
5、轻量级的分支和标签
6、主要基于命令行,难上手
7、占用空间大
GIT安装
下载地址:Git - Downloads
Linux中安装:yum insatll git
Window安装
- 下载对应的32位或者64版本,点击安装即可
- git --version 查看版本号
Git概念
Workspace工作空间、工作区
- .git所在的目录的就是工作区,一般是项目的根目录
Index索引
介于工作区和版本库之间,暂存修改饿
Repository 仓库、版本库
- git初始化后,会在当前目录生成一个.git目录,这就是版本库
Remote远程版本库
- 网络上的另一个版本库,可以和本地库交互
Git使用
名称 解释 git ini 初始化项目的根目录,及工作目录 git add 把文件的当前变化增加到索引中, git add . . (点),代表当前目录,将递归添加当前目录及其子目录所有文件 git status 查看状态
初始化一个版本库
- [root@bogon python_work]# git ini
添加文件
- [root@bogon python_work]# git add index.html
- 单个文件添加:这一步把文件的当前变化增加到索引总,也就是以后这个文件需要版本库来跟踪管理,注意者不是提交
- 此时文件还可以继续修改,还可以添加新的被追踪文件,一定要add才能把这些裱花加入到索引中
查看状态
- [root@bogon python_work]# git status
状态图
Git的文件分类
- 追踪Tracked,已经加入版本库的文件
- 未追踪的UNtracked,未加入到版本库的未被管理的文件
- 未忽略的lgnored,git不在关注的文件,例如一些临时文件
- .gitignore文件中,目录以/结尾,行起始的 ! 是取反
.gitignore内容如下:
*.ipynd #所有以.ipynd结尾的 __pycache__ #__pycache__目录,及目录下的 .* #所有文件及目录
忽略文件不需要自己写,Python的已经有了:https://github.com/github/gitignore/blob/master/Python.gitignore
其他语言的在这里找https://github.com/github/gitignore
提交代码
命令 注解 git commit -m ''备注提交的原因" 提交代码,并注修改的点 提交代码的时候,git报错,未设置用户信息
[root@bogon python_work]# git config --global user.name "amae" #设置姓名 [root@bogon python_work]# git config --global user.email "amae@example.com" 设置邮箱 [root@bogon python_work]# git config --list #查看git配置命令 user.name=amae user.email=amae@example.com core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupd