1.版本控制软件和代码托管平台介绍
git / svn
版本控制软件
第一版,第二版,第三版,V1,V2,V3
保存每个历史版本,相当于是对每个版本进行了备份/拍照
版本控制的作用:1.回滚版本2.代码记录追踪(写的每行代码都有记录,出问题了好追责)
区别:svn(集中式)git(分布式),git支持离线功能,可以保存到本地,svn是必须要跟连接服务器的,这几年git比较主流
gitlab / github / gitee(码云)
代码托管平台
基于git工具的网站,作用就是把你的本地代码保存到这些网站上
你的本地代码(git)---git push ---> gitee --- git pull /git clone ---> 本地
2.项目代码演示
2.1git命令操作代码
第一步:创建.gitignore文件,填写版本系统可以忽略的文件或文件夹
使用git前,需要先安装,安装后记得配置环境变量,确定在cmd中可以使用,然后再配置pycharm
打开File-->Settings...-->Tools-->Terminal,把git-cmd.exe所有路径添加到Shell path中,然后重启pycharm即可
.gitignore文件用于存放忽略的文件或目录,忽略的意思就是不会把这些文件或目录保存到版本控制系统中,比如一些缓存文件,敏感信息等
这就是python自动生成的一些缓存文件
新建一个example.py模块,存入敏感信息,然后将真实的测试账号忽略掉
新建一个.gitignore文件,代码如下:
*表示通配
__pycache__/
*esecret_config.py
第二步:cd 目录,git init 创建git仓库,如果有git仓库,此项目的目录下会有.git文件
一定要进入要存入版本控制系统的项目路径,选中项目右键选择Open in Terminal
或者使用cd.绝对路径进入对应的项目路径
然后进行创建git仓库
创建完成后可以查看一下是否成功,打开对应的目录下,查看有没有.git文件,这是隐藏文件,如果没有可以通过查看设置,.git文件下的内容不要随便改动
仓库创建成功后,我们可以看到模块名字颜色变成了红色
第三步:git status 查看该仓库下的文件状态
红色(不同版本的pycharm颜色可能不同), Untracked files:没有被追踪,还未存放到仓库中
黄色(不同版本的pycharm颜色可能不同),Changes to be committed:已经被放到版本控制系统的缓存当中,但是还没正式提交
第四步:git add 文件名 :添加到缓存(购物车)
git add .表示提交所有文件
提交后可以查看一下文件的状态,可以看到所有文件都变成了黄色显示
第五步:git commit -m "提交时候的信息(版本信息)":正式创建一次版本的跟踪
-m后面的内容,写不写双引号,效果都一样,但如果用单引号,会把单引号也一块算到版本信息内容
如果我们对代码进行了修改,哪怕是修改了一个空格,文件的状态都会发生变化,而且修改的代码行前面也会有所显示
2.2图形界面操作
pycharm也提供的图形界面来提交文件:不同版本的pycharm中Git所在的位置有所不同,我的是在VCS-->Git-->Commit file..或都直接点击VCS-->Commit...
图形界面操作的话不需要进行git add,它会自动添加并提交
2.3查看不同版本的代码
不同的pycharm版本,查看版本的位置有所不同,我的是在Version Control-->Log下查看,打开对应版本的文件,可以查看修改的内容。如果只提交过一次的文件是没有变化对比的
3.gitee使用
操作步骤:
- 打开Gitee - 基于 Git 的代码托管和研发协作平台官网,进行注册/登录
- 创建仓库,这里一般选择私有,为了安全创建完成后,可以看到相应的提示,根据情况自行选择
- 我这里是已经创建好仓库了,所以选择已有仓库,复制这两行代码到pycharm中
git remote add origin https://gitee.com/lljiao/py44.git git push -u origin master
- 刷新gitee网站,就可以看到推送的代码文件
同事如何获取你的代码
直接在命令行输入git clone https://gitee.com/lljiao/py44.git,需要输入密码账号,进行代码克隆
执行完命令后,可以查看文件夹,成功克隆了代码
自已同步同事的代码
直接在终端里输入git pull,输入密码账号,进行代码拉取
当前没有最新的代码,所以拉取时,提示没有更新的
我这是为了演示,所以自己去gitee上修改了代码,然后进行拉取
可以查看我们拉取的代码
当然,不管是push,还是pull,图形界面也可以操作
4.git冲突
将自己的代码进行添加到缓存(git add .),提交(git commit -m 版本信息)
然后同步远端的代码(git pull)此时会提示合并冲突
可以看到代码行的冲突
解决冲突,就是确定只留下一行代码,删除一行,解决完冲突后查看一下文件状态(git status)
因此我们需要把自己修改好的代码重新进行添加提交,然后再进行代码推送
查看一下远端代码,可以看到代码已更新
总结:
远端服务器和本地的同一个文件下同一行代码不一样时,就会造成冲突
<<<<<< 本地代码 >>>>>>> 远端代码