目录
使用场景
在软件开发过程中,每实现一个功能,每前进一步,都需要存档备份,保存为一个版本,然后以这个版本为基点进行下一个版本的开发。
版本控制系统
版本控制系统的的作用:
它会跟踪并记录一个项目中每一个文件的变化:谁创建了它,谁修改了它,又是谁删除了它,是什么时候,修改了什么内容,都意义记录在案。
版本控制系统的种类:
1.集中式版本控制系统
2.分布式版本控制系统
集中式版本控制系统的缺点就是 数据存储在服务器上,使用时要联网。同时集中式版本系统是收费的。分布式版本控制系统就是不在将整个版本库保存在一个服务器上,而是保存在每个员工的计算机中。
Git的安装和配置
分布式版本控制系统典型的代表是Git,Git是由linux内核的作者linus开发出的一款免费的版本控制工具。越来越多的公司使用Git管理软件项目。
git的安装指令:
sudo apt-get install git
git安装完成之后需要配置一些信息,例如: 当别人看到你的修改,想和你联系时,可以通过以下的配置信息找你。
我可以进入gitconfig文件查看我配置好的信息
Git 可以通过不同的参数,灵活设置这些配置的作用范围。
--global :配置~/.gitconfig文件,对当前用户下的所有仓库有效
--system:配置/etc/gitconfig文件,对当前系统下的所有用户有效
无参数:配置.git/config文件,只对当前仓库有效
git常用命令:
git init: 创建一个本地版本仓库。
git add main.c:将main.c文件的修改变化保存到仓库的暂存区
git commit:将保存到暂存区的修改提交到本地仓库。
git log:查看提交历史
git show commit_id:根据提交的ID查看某一个提交的详细信息
Git的几个基本概念:工作区(workding Directoroy),暂存区(staging Area)和版本库(Repository).
在实际开发中的每一小步,都可以先保存到暂存区,等整体功能完成后,再统一提交到版本库。
git的使用演示
新建目录temp,在目录下新建c文件main.c
在temp目录下新建一个Git仓库,并将main.c提交到仓库。
git init 创建一个仓库
git status 查看工作区状态
git add main.c 将工作区的修改main.c添加到暂存区
git status 查看工作区状态
git commit -m "init repo and add main.c" 将暂存区的修改提交到仓库
使用git log来查看提交信息,包括提交的ID,提交作者,提交时间,提交信息说明。
修改了main.c文件,把这个修改再次提交到仓库,操作如下:
git add main.c
git commit -m "modify main.c again:add add function"
使用git log或者git show命令来查看我们新提交信息和修改变化。git show 后面的字符串是每一次提交的commit ID.
想让你的提交不影响整个项目,可以创建一个自己的分支my——branch,所有的修改都提交到你自己创建的分支my_branch上,而不会影响master主分支上的代码,不会影响其他人。
git branch my_branch 创建一个新分支 my_branch
git checkout my_branch 切换到新分支 my_branch
git commit -m "on my_branch:modify main.c" 将修改提交到 my_branch
git log 查看新的提交信息
git checkout master 切换到master分支,在该分支上看不到新的提交信息
git log
git merge my_branch 将my_branch分支上的修改合并到master分支
git log