Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的项目。
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。
就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。
事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。如果数据丢失,不能回滚代码。
分布式的版本控制系统在管理项目时存放的不是项目版本与版本之间的差异.它存的是索引(所需磁盘空间很少所以每个客户端都可以放下整个项目的历史记录)
在工作区执行git init命令,就初始化了一个本地库
本地库文件,配置
我们已经有了本地库,本地库可以帮我们进行版本控制,为什么还需要代码托管中心呢?
它的任务是帮我们维护远程库,
局域网环境下: 可以搭建 GitLab服务器作为代码托管中心,GitLab可以自己去搭建
外网环境下:可以由GitHub或者Gitee作为代码托管中心,GitHub或者Gitee是现成的托管中心,不用自己去搭建
注意事项:.git目录下的本地库相关的子目录和子文件不要删除,不要胡乱修改。
(1)不放在本地仓库中的文件,git是不进行管理
(2)即使放在本地仓库的文件,git也不管理,必须通过add,commit命令操作才可以将内容提交到本地库。
git status看的是工作区和暂存区的状态
git log 可以让我们查看提交的,显示从最近到最远的日志
注意:修改完成后,是对工作区的文件进行了修改,并没有提到本地仓库
reset命令:前进或者后退历史版本
复制:在终端中选中就是复制了
粘贴:右键:paste
对test.py文件内容进行删除操作,此时工作区和本地仓库中的文件内容不一致
默认和最新提交的版本进行比较
也可以用git diff head 版本号
如果想和旧的版本进行比较
总结:git diff —>比较工作区中和暂存区中 所有文件的差异
在版本控制过程中,使用多条线同时推进多个任务。这里面说的多条线,就是多个分支。
同时多个分支可以并行开发,互相不耽误,互相不影响,提高开发效率
如果有一个分支功能开发失败,直接删除这个分支就可以了,不会对其他分支产生任何影响。
注意:创建的分支和主分支的代码、日志完全一致
将dev分支合并到主分支master上,需要先切换到主分支上
也就是说也master为主,将对方的分支合并到master分支上
此时处于合并状态,需要修复冲突,其他事情做不了
冲突内容
解决完成,按照项目需求来
注意:解决冲突的提交和普通提交不一样,commit命令不能加test.py