VSS、CVS、SVN、Git等linux
Git是一款版本控制软件,支持多个版本回滚,支持多人协同操做;联合开发;不容易丢失,可远程提交到github上git
linux下的安装github
$ git The program 'git' is currently not installed. You can install it by typing: sudo apt-get install git
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
一、初始化项目文件夹,生成版本库windows
二、建立版本库工具
**注pwd是显示当前目录spa
**注i是启用写模式,end退出写模式,:wq保存退出,:q退出版本控制
**文件未被添加到版本库的话,是没法提交的,会提示有哪些文件须要添加到版本库日志
**注-m是给提交的文件加上标识,commit能够一次提交多个文件code
**注status是查看文件状态,提示a.py被修改未提交到版本库
修改完提交
查看日志来看本身的提交状况
**注git log命令是从最近到最远时间显示提交,第一个即最近的一次提交
**参数–pretty=oneline可让打印简化
a.py版本有两个,我想回到上个版本怎么办呢?
**HEAD^返回上个版本,HEAD^^返回上上个版本,若是版本太多HEAD~20返回20个版本以前
版本回退以后你又想返回以后那个版本怎么办?别慌,只要你的命令窗口没关,找到第二次提交的commit id
又退回来了,commit id不必写全
可是你回退以后又想再退版本怎么办?找不到commit id怎么办???
不须要
**git 提供了 reflog来记录你的操做,从输出能够知道commit id 这样就又能够随意切版本了
**stage是暂存区
有时候咱们修改了文件,可是已经保存了,从版本库下上个版本???不须要,工做区咱们能够撤销修改
成功恢复到修改以前
那么若是是添加以后未提交到版本库以前呢
没事还有命令拯救你
此刻虽然文件未返回可是暂存区已经没有了,再执行checkout命令就能够了
在工做区你可能只须要rm一下就好了
那么版本库中的文件该怎么删除呢
**先建立命令再提交
**提交至远程库,例如github或码云,这边以码云示例
查看下码云确实有了
建立dev分支并切换至dev分支下面
查看全部分支
修改提交到dev分支
切换到master分支下合并
**注:除了master分支外的分支均可以删除
建立dev分支并修改a.py文件,并切至master分支
在master对这个文件再进行修改提交,合并dev分支提示冲突
新建dev分支提交文件切master分支合并(请注意–no-ff参数,表示禁用Fast forward)
能够看到不用Fast forward模式是这样的 一般,合并分支时,若是可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。 若是要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就能够看出分支信息