安装Git
CMD检查Git版本
打开cmd,输入git version,检查当前下载版本

配置git的user信息
在cmd中输入
- git config --global user.name "用户名"
- git config --global user.email "用户邮箱"
- 输入:git config --list,检查是否配置成功

在Pycharm中配置git
进入设置(Settings)>版本控制(Version Control)>Git
Git的位置
...\Git\bin\git.exe

- 选择完文件夹后点击Test,测试一下pycharm能不能找到git,如果成功,页面中会出现Git对应的版本号
- 出现版本号之后,在右下角选择 Apply 然后点击 OK
初始化&添加&提交
使用Git的工作流程:初始化本地仓库>添加到暂存区>提交到仓库
初始化本地仓库
路径:VCS》Create Git Repository

弹窗默认为当前打开项目》ok
添加暂存区
将整项目提交到暂存区

提交到本地库
选中你想要提交的文件,可以是项目也可以是单独的文件夹,鼠标右击 打开 Git > Commit File


在提交项目的时候双击待提交的文件,可以查看每一个文件变化的情况

新文件
当新建文件时会出现弹窗,询问你这个文件夹是否需要添加到暂存区

注:
- 上面的操作不是唯一的,PyChram中有很多方式都可以添加到暂存区,提交到仓库
- PyCharm 也可以直接提交到仓库
切换版本
查看项目的版本
点击左下角的Git > log
就可以看到对应的版本记录

查看单个文件的版本信息

切换
切换版本Git > log
选中需要切换的版本 右击 checkout Revision .....
然后切换可以

创建分支和切换分支
创建分支
找到有Git的位置》New Branch


切换分支

合并分支(无冲突)
- 没有冲突的条件:两个分支合并的时候不能同时修改一个文件,文件要相对最新
- 举个例子,我一共有两个文件A、B 我在分支1中修改A,在分支2中修改B这时合并两个分支就不会发生冲突

合并分支(有冲突)
- 发生冲突就的条件:就是在两个分支中同时需修改了相同的文件,合并的时候Git不知道你要保留那一部分,所以需要手动的处理冲突。不要指望自动合并,因为没有机器能够知道你的想法是什么,它也不明白你到底会要哪些文件。
- 举个例子,我一共有两个文件A、B 我在分支1中修改A,在分支2中也修改A ,这个时候在合并的时候就会有冲突,有冲突就需要先解决冲突,自己判断需要的代码
当合并发现冲突时,会有一个弹窗显示,供我们选择冲突解决的方式
一共有四种合并方式
- 使用自己当前分支
- 使用别人的分支
- 根据需求手动合并
- 直接合并,然后需要在合并后的代码手动合并
**注意,**有时候内容一样Git也会有冲突,原因就是你刚开始修改了一部分内容,后来又改回去了,这样也是算修改过内容