仓库操作
简单的创建仓库、删除仓库
删除点击 Remove 即可
文件操作
1、提交文件到本地仓库
2、修改文件
Git没有修改文件这一说,它只会再次提交一个新的版本到仓库中,提交修改后的文件其实是在仓库创建了一个新的文件,只不过是一个不同的版本。
版本号
版本号是一个40位的16进制码,对应着我们的文件操作信息。
可以在仓库目录下的 ./git/objects/ 找到每一个仓库文件的操作信息(版本号)。
3、文件删除
先删除仓库目录下本地的 a.txt ,再提交删除仓库中的文件。
分支操作
1、问题
多个开发人员在开发一个项目时,各自负责不同的模块,如果所有人都用同一个版本仓库的话,就会出现很多问题,比如每个人定义的文件名相同(导致文件没法使用)、仓库容量压力大(开发人员太多导致版本信息太多,Git在做文佳比对的时候也会越慢)。
2、分支
分支就是一个版本仓库的副本,开发的时候每个人在自己的副本上进行操作,操作完成后再将副本合并到一起。但是其实并不是就没有问题,比如文件名重复的问题,但是这里我们只需要统一解决即可,不需要之前那么复杂。
3、分支实现
案例
张三和李四是我们的开发人员,张三副本用户模块,李四负责订单模块。王五是项目经理(负责仓库的管理和维护),王五创建两个副本(分支)给张三李四,最后他俩任务完成后进行一个分支的合并,将结果 合并到我们的仓库中。
1、创建主仓库
主仓库就是我们的主分支(main),由项目经理王五负责。
2、创建分支
创建王五的用户模块分支
李四也是一样,这样就实现了两个分支。
3、业务实现
我们选择user分支,然后“show in explorer”打开 user 分支目录,创建user.txt
提交文件到 user 分支
切换到李四的 order 分支,并打开所在目录。
我们发现,分支的目录路径都是我们的主分支目录,但是原本张三创建的 user.txt 却从分支目录消失了,这是因为我们切换了分支,切换分支后,给我们展示的就是不同的目录,并不是文件被删除了,我们切换回 user 分支,再次打开目录就会发现user.txt 依然存在。
我们切换回 order 分支,并创建 order.txt ,然后提交。
这个时候,我们切换到主分支 main,会发现,主分支的本地目录下什么都没有,这是因为我们还没有将分支合并到一起。
4、合并分支
选择张三的 user 分支并合并
合并完成,主分支出现了 user 分支下的文件 user.txt
同样合并李四的 order 分支
5、文件同名问题
在 user 和 order 分支下各自创建一个 Main.java 文件,再合并到主分支。
在 user 分支创建 Main.java
在 order 分支创建 Main.java
切换回 main 分支,进行合并。
成功合并 user 分支到主分支 main。
合并 order ,出现问题
继续点击 Create a merge commit
必须修改文件来解决冲突,我们打开文件
发现 Git 自动帮我们检测到了冲突的地方,我们需要人工修改来选择需要的内容。
修改:
修改保存,继续提交
修改后我们打开 Main.java ,发现正是我们修改后的java文件
标签
我们在上面的合并操作中可以发现,它并没有描述信息,当我们查看历史信息时,很难一眼看到重要的信息,所以我们可以创建一个标签来使我们更加直观的看到重要的信息。
操作
右键 Create Tag
填写标签信息
效果
远程仓库-Github
创建仓库
同步远程仓库文件
1、将远程仓库克隆到本地仓库
等待完成
2、进行相关操作
下载我们的远程仓库到本地后,我们就可以直接操作了,这里我演示将我的比赛作品上传到远程仓库。
打开下载好的Git远程仓库目录,复制需要上传的项目文件到该目录并提交到本地仓库
将需要上传的代码文件、数据库文件、驱动引擎直接复制到我们下载的Git远程仓库目录。
同步本地仓库到远程仓库
同步成功,刷新仓库