版本控制:
版本控制:程序都有一个开发过程,可能一段时间才能更新一个功能,这就要求多个版本同时需要保存,而且一旦出错需要马上回滚到上一个版本,为了解决这样的版本控制问题,产生了一些版本控制工具:VSS、CVS、SVN、Git等,其中Git属于霸主地位。
一般版本控制工具包含两部分:
- 客户端(本地):本地编写内容以及版本记录
- 服务端(网盘):将内容和版本记录同时保存在远程
git介绍:
git是一个开源的分布式版本控制软件,用有效高速的处理从很小到非常大的项目版本管理,可以做到版本控制,但只能讲版本记录保存到本机如需将文件及版本记录保存到远程,则需要结合github来使用。
github是一个基于git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)。
不管是git还是gitlub它们都会在本地.git文件夹内维护历时文件,gitlub除了在本地.git文件夹内维护,而且同时将历时文件托管在远程仓库
其他:
集中式:远程服务器保存所有版本,用户客户端一口某个版本
分布式:远程服务器保存所有版本,用户客户端有所有版本
git的基本用法:
首先下载安装git
官网下载地址:https://git-scm.com/downloads
具体命令,及操作流程:
首先进入需要版本控制的项目文件夹,然后鼠标右击选择Git Bash Here进入命令窗口
$ git init #git初始化 Initialized empty Git repository in E:/daimacunfangmulu/starkweight/.git/ $ git status #查看当前git状态 On branch master No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) .idea/ app01/ app02/ db.sqlite3 manage.py stark/ starkweight/ templates/ nothing added to commit but untracked files present (use "git add" to track) $ git add db.sqlite3 #添加db.sqlite3文件到版本库 $ git add . #添加当前目录下所有文件到版本库 $git commit -m ' 第一次提交' #提交到版本库,并填写版本说明,以便以后回滚
执行git commit 命令时,可能会提示进行用户和邮箱的配置,改配置用于记录当前版本由哪个用户提交
- git config --global user.emial "2280196050@qq.com"
- git config --global user.name "kxl"
git 把管理的文件分为两个区域四个状态:
工作区:当前开发程序所在目录称为工作区,该区域的文件会有状态的变化且状态由git自动检测,如果程序中文件做任何改变,文件状态均会被检测到,状态可以用$git status命令来查看:
$ ls #查看原程序目录 app01/ app02/ db.sqlite3 manage.py* stark/ starkweight/ templates/ $ git status #查看git当前状态 On branch master nothing to commit, working tree clean $ touch 111.py #创建新文件 $ ls 111.py app02/ manage.py* starkweight/ app01/ db.sqlite3 stark/ templates/ $ git status #创建新文件后查看状态会出现新文件而且显示红色证明工作区111.py发生变化 On branch master Untracked files: (use "git add <file>..." to include in what will be committed) 111.py nothing added to commit but untracked files present (use "git add" to track)
版本库:工作区检测到有文件发生变化,那么意味着上一个版本之后对程序进行了修改,修改完成之后,可以做为下一版本进行提交,那么久实执行$git add .将所有文件提交到暂存区,然后在执行$git commit -m '新版本'提交到版本库的分支即可,之后可使用$git log命令查看版本记录
$ ls #查看原程序目录 app01/ app02/ db.sqlite3 manage.py* stark/ starkweight/ templates/ $ git status #查看git当前状态 On branch master nothing to commit, working tree clean $ touch 111.py #创建新文件 $ ls 111.py app02/ manage.py* starkweight/ app01/ db.sqlite3 stark/ templates/ $ git status #创建新文件后查看状态会出现新文件而且显示红色证明工作区111.py发生变化 On branch master Untracked files: (use "git add <file>..." to include in what will be committed) 111.py nothing added to commit but untracked files present (use "git add" to track) $ git add . #将所有修改过的文件添加到暂存状态 $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: 111.py #查看状态时111.py的颜色变为绿色,表示在版本库的从暂存状态 $ git commit -m '新版本' #提交到版本库的分支 [master 6d919cc] 新版本 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 111.py $ git log #查看历史版本提交记录(根据commit值进行回滚) commit 6d919cc6480379b1900442c024d1e86a778970dd (HEAD -> master) Author: kxl <2280196050@qq.com> Date: Thu Apr 12 19:01:43 2018 +0800 新版本 commit efa64a78aaefc881e0fa7d263c0ba0a3039130a3 Author: kxl <2280196050@qq.com> Date: Thu Apr 12 12:53:16 2018 +0800 第一次
以上已使用Git的四个命令,这四个命令已经可以在本地对项目版本进行管理了:
- git init 初始化
- git status 查看git当前状态,哪些文件修改过吗,哪些文件还未提交到版本库等
- git add 文件名 将指定文件添加到版本库的暂存状态
- git commit -m '提交信息' 将暂存区的文件提交到版本库的分支
- git log 查看提交记录,即:历史版本记录
后续更新。。。。。。