目录
1.各个区域的关系
2.Git常用命令
(1) 在指定的目录下进行创建一个项目工程:git-demo
(2) hello.txt文件被修改三次 并且分别提交该文件三次到本地库,所以对应有三个历史版本
(3) 不同版本之间来回更改
3.Git分支操作
分支介绍
分支的好处
分支的操作
4.团队协作
团队内协作
跨团队协作
5.GitHub/Gitee的操作演示
(1) 创建远程库
(2) 创建远程库的别名
(3) 推送本地库代码到远程库
(4) 拉取远程库代码到本地库
(5) 克隆远程库代码到本地
记录(3)和(4)的一个bug:
6.团队协作开发步骤演示:
7.跨团队协作:
8.IDEA集成Git
8.1切换本地库的历史版本
8.2 创建分支和切换分支
8.3 合并分支
9. IDEA集成Gitee
10.推送本地库代码到远程库
11. 拉取远程代码库的代码合并到本地库
演示:
总结:
12.克隆远程库代码到本地
13.在Gitee上进行直接导入GitHub上的项目(doge)
14.自建代码托管平台-GitLab
GitLab简介
(1) git add命令会先把代码提交到暂存区进行存储
(2) git commit会把代码从暂存区提交到本地库 此时代码依旧在本地
(3) 无论是提交到暂存区还是工作区 ,代码都是没有历史版本记录的。只有提交到本地库之后 代码才会有历史版本修改的记录。
进行一系列的操作命令 按照顺序从上往下
再次修改hello.txt文件 然后提交到暂存区 最后commit到本地库 形成third commit
无论是版本如何进行更改,其实底层原理都是master指针指向的更换 !
图中步骤演示说明:
(1) 一个项目被创建保存在master主线分支 当这个项目需要新增两个功能点:blue任务 和 game任务
(2) 此时进行拷贝出两个一开始保存在master分支的项目副本 分为feature-blue和feature-game两条主线分别进行异步开发
这样即使有一个分支开发出现问题,那么也不会影响其他分支的开发。因为是拷贝master分支的 形成的副本
(3) 当feature开发到一定程度后,提交合并到master ,但是提交之后 测试人员检查发现问题,此时会跳转到hot-fix进行热修复操作
修复完成之后,会再一次合并到master分支进行合并版本迭代
(4) 对于feature-game来说,一路开发比较稳健,到最后才进行提交合并到master。最后feature-game,feature-blue功能依次完善完成
合并到master分支
演示:
(1) 创建分支 查看分支 切换分支
(2) 正常合并分支
(3) 产生合并分支冲突的情况
演示:
注释:下图是上图第③步 手动修改保存hello.txt文件的内容:
(1) 华山派掌门岳不群把自己研究的剑法push到托管中心,身为同一个团队的成员令狐冲可以进行clone。
(2) 身为同一个团队的成员令狐冲进行修改clone过来的代码,然后把修改之后的代码push推送到托管中心(因为都是一个团队的,所以可
以进行修改)
(3) 岳不群此时可以进行pull 代码托管中心,把修改之后的东西拉取过来进行查看
(1) 团队1感觉自己团队合作开发出的项目还是太差,需要团队2的协作共同开发。
(2) 团队1会fork叉出去一份自己的项目代码给团队2,团队2进行clone一份到本地库中,然后进行修改,修改完成之后,会从本地库push
到代码托管中心的当时fork出的分支。
(3) 然后团队2会发送一个Pull request请求给团队1通知他们,团队1会进行审核这个团队2修改的代码,如果合理,那么会把该修改的分
支merge合并到自己的分支上。
(4) merge之后,团队1的所有人都可以进行pull一份代码到自己本地库中进行查看 继续开发
1.登录GitHub官网
2.创建一个仓库 git-demo 该仓库即是远程托管中心账户对应下面的仓库
2.1
2.2
1.复制出该远程仓库对应的http链接地址 https://github.com/leomessi1110/git-demo.git
2.对该地址对应的远程仓库进行创建别名
注释:
git remote -v 表示进行查看是否存在远程库的别名
git push 远程仓库链接/远程仓库创建的别名 上传的分支名
步骤:
1.我们事先会进行一个git init初始化一个git
2.进行推送本地库master分支的代码到远程库:
git push git-demo: git_Test master 表示:
上传master分支的代码到git-demo: git_Test链接处的远程仓库
git pull 远程仓库链接/远程仓库创建的别名 拉取的分支名
(1) 项目组进行邀请一个新来的员工进入远程仓库
(2) 新来的员工会先进行创建一个存放该项目代码的目录:code_in
(3) 该新用户进行git clone 这个远程仓库到本地库目录:code_in
即是:git clone git-demo: git_Test
(4) 进行一系列的修改之后 想要提交到远程库中
使用: git push git-demo: git_Test 分支名 表示提交指定分支的代码到远程库
(5) 该项目组的其他用户在原来存储代码的目录 进行git操作
想要得到新用户修改之后的代码,那么要进行pull拉取操作。即是:git pull git-demo: git_Test 分支名
这样得到的代码即是新用户修改之后的代码
(1) 搜索到其他团队项目
(2) 对于公开的团队项目 我们都可以搜索到 并且修改
修改
(3) 当然我们也可以把整个项目 git clone 项目地址链接 克隆到本地库中进行修改然后再push到gitee
(4) 我们修改之后,需要pull request操作。
这个操作是为了进行通知该项目对应的团队,我们提交了修改 你看是否同意修改 并且是否同意merge
第一个版本:
(1) 创建Git仓库
(2) 添加add 把代码提交到暂存区 git add 文件名
(3) 把代码从暂存区提交到本地库 git commit -m"提交信息" 文件名
第二个版本:
第一个版本已经形成,因为第一个版本已经commit提交到本地库了,所以第一个版本形成了一个历史记录。
此时修改第一个版本的代码:新增一个HelloWorld类 然后进行add 然后commit到本地库
这样就会形成第二个版本!
此时处于第二个版本,如果我们想要切换回第一个版本怎么办?
此时就变化回到指定的版本对应的代码啦:
创建hot-fix分支:
切换分支:
在右下角可以进行随意切换到你想要的分支
正常合并:
(1)
(2) 切换回master分支 没有合并前,master分支没有在hot-fix分支修改的代码
(3) 把hot-fix分支下的代码合并到master分支
错误合并:
错误合并即是两个成员都进行修改了同一处的代码,然后执行合并操作,这是会触发错误合并的异常
此时需要我们进行手动merge !
(1) 链接Gitee账户
(2) 直接把项目代码分享到Gitee上,在gitee上会自动创建一个对应的远程仓库进行存储 !
(3) 成功 !
当本地库代码更新之后,我们需要进行推送到远程库中 :
先看两点注意事项:
(1)
(2)
(3)
拉取成功:
流传一句话 先pull拉取远程库代码 保证本地库代码是最新的,然后再进行修改 修改之后再进行push推送到远程库 !
(1) 首先关闭之前的项目
(2) 然后:
(3) idea和远程库一气呵成,clone成功 !