(6)使用 log 命令,查看日志
(7) 修改 test.txt 文件
(8) 添加并提交,查看日志
3.3 Git 图形化工具操作
(1) 创建 test1 工作目录、初始化本地 git 仓库
(2) 创建 test.txt
文件,并将其添加到暂存区,再提交至本地仓库
(3) 修改文件后,不用进行添加操作,直接第二次提交
(4)查看日志
4 Git 版本管理
(1)历史版本切换
git reflog
:可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录的操作)
git reset --hard 版本唯一索引值
(2)分支管理介绍
分支
- 由每次提交的代码,串成的一条时间线
- 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线
分支的使用场景
- 周期较长的模块开发
- 假设你准备开发一个新功能,但是需要一个月才能完成
第一周写了20%的代码,突然发现原来已经写好的功能出现了一个严重的Bug
那现在就需要放下手中的新功能,去修复Bug
但这20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。
- 假设你准备开发一个新功能,但是需要一个月才能完成
- 尝试性的模块开发
- 业务人员给我们提出了一个需求,经过我们的思考和分析
该需求应该可以使用技术手段进行实现。
但是我们还不敢确定,我们就可以去创建一个分支基于分支进行尝试性开发
- 业务人员给我们提出了一个需求,经过我们的思考和分析
分支工作流程
- Master: 指向提交的代码版本
- Header: 指向当前所使用的的分支
(3)分支管理操作
- 创建分支:
git branch 分支名
- 查看分支:
git branch
- 切换分支:
git checkout 分支名
- 新分支添加文件后查看文件命令:
ls
Master分支里没有新分支添加的文件,但是新分支里有Master分支里的文件
- 合并分支:
git merge 分支名
- 删除分支:
git branch -d 分支名
- 查看分支列表:
git branch
注意:不同分支之间的关系是平行的关系,不会相互影响
5 Git远程仓库
5.1 远程仓库工作流程
注意:克隆是包括所有的历史版本
5.2 远程仓库平台介绍
-
GitHub
- 域名:https://github.com
- 介绍:GitHub是全球最大的开源项目托管平台,俗称大型程序员社区化交友网站,各类好玩有趣的开源项目,只有想不到,没有找不到。
-
码云
- 域名:https://gitee.com
- 介绍:码云是全国最大的开源项目托管平台,良心平台,速度快,提供免费私有库
5.3 先有本地项目,远程为空
- 创建本地仓库
- 创建或修改文件,添加(add)文件到暂存区,提交(commit)到本地仓库
- 创建远程仓库
- 推送到远程仓库
注意:在推送代码之前需要先配置SSH公钥,否则会报错
(1)设置Git账户:
- 查看git账户:
git config user.name
- 查看git邮箱:
git config user.email
- 设置全局账户名:
git config --global user.name "账户名"
- 设置全局邮箱:
git config --global user.email "邮箱"
(2)生成SSH公钥
- 查看是否生成过SSH公钥:
cd ~/.ssh
- 生成命令:
ssh-keygen –t rsa –C "邮箱"
( 注意:这里需要敲3次回车) - 查看密钥:
cat ~/.ssh/id_rsa.pub
(3) 设置账户公钥
- 复制步骤 ⑦ 的公钥,gitee主页点击“设置”——>“SSH公钥”,粘贴
(4) 公钥测试:
ssh -T git@gitee.com
,出现“successfully”字样即成功
本地项目推送至远程仓库
(1) 创建本地仓库
git init
(2)为远程仓库的 URL 自定义仓库名称
git remote add 远程仓库名称 远程仓库URL
给远程仓库取一个简单名称来代替一大长串的 URL
(3) 推送至远程仓库
git push -u 远程仓库名称 分支名称
5.4 先有远程仓库,本地为空
- 将远程仓库的代码,克隆到本地仓库
克隆命令:git clone 仓库地址
- 创建新文件,添加并提交到本地仓库
- 推送至远程仓库
- 项目拉取更新
拉取命令:git pull 远程仓库名 分支名
5.5 代码冲突
产生原因:
两个程序员操作同一个文件,其中一个程序员在修改文件后,push到远程仓库,另一个程序员应该先pull将最新的代码更新到本地仓库后,在修改代码,之后push到远程仓库,结果他没有先pull将最新的代码更新到本地仓库,而是直接将自己的代码push到远程仓库,这样就可能会导致代码冲突
如何解决冲突:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
TGIq-1714641037407)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!