玩转git的第1章节:git的理论以及操作规则
一 git原理
1.1 git的操作原理
SCM: software configuration manager : 软件配置管理:是通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有的配置项的完整型和可跟踪性,配置管理是对工作成果的一种有效保护。
图1
图2
上图是Git与提交有关的三个命令对应的操作:
Add命令是把文件从IDE的工作目录添加到本地仓库的stage区,
Commit命令把stage区的暂存文件提交到当前分支的仓库,并清空stage区。
Push命令把本地仓库的提交同步到远程仓库。
从git管理的角度文件只有两种状态:未跟踪以及已跟踪。 新建的文件或者修改的文件没有add之前都是未跟踪状态
由上图可知:在你的本地仓库,其实是由三部分组成: 版本库包含暂存区和分支
工作区 (Working Directory) //看得见的
版本库 (Repository) //看不见的
暂存区(Stage)
分支 (branch)
远程仓库:
IDEA中对操作做了一定的简化,Commit和Push可以在一步中完成。你现在的pull和push都是本地版本库和远程仓库之间的数据交互。
1.2 git的操作流程
1)初次提交:
通过git add 将文件 工作区 ---》暂存区 (本地)
通过git commit 将文件 暂存区 ---》分支 (本地)
通过git pull 将文件 远程库 ---》分支 (本地)
通过git push 将文件 分支 ---》远程库 (github)
2)提交改动:
通过git commit将文件 暂存区 ---》分支 (本地)
通过git pull 将文件 远程库 ---》分支 (本地)
通过git push 将文件 分支 ---》远程库 (github)
1.pull更新最新代码
2.修改过代码之后,提交到本地仓库,commit;
3.pull代码,有冲突解决冲突
4.一切ok后,push代码
一般情况下,我们在push操作之前都会先进行pull操作,这样不容易造成冲突。
总结:
先从远程库拉取最新的代码
当推送自己代码之前,再次拉取远程库代码,如果有冲突,先解决冲突,再在本地提交。
假如你没有新建分支,请记住修改了文件一定要add commit ,假如你新建了分支,请记住一定要add commit merge千万记住,很多错误都来源于你这几步操作没有很好的完成。
1.3 git的常用命令
git init 初始化仓库
git status 查看仓库状态
git add 现在暂时有两个作用:1 将文件添加到被跟踪状态 2:将文件从工作区放到暂存区
git commit -m “xxxxx” 将文件提交到git仓库,让其管理
git clone 仓库所有文件处于被跟踪状态
git log - -pretty=oneline 查看git日志
git pull origin master 拉取仓库代码
git push origin master 推送本地代码到远程仓库中
Git branch xxxx; //创建分支
Git checkout xxxx;切换到某个分支上
git checkout -b testing 新建分支并切换分支
1.4 fetch与pull的区别
相同点:都是获取更新的命令
不同点:Fetch是从远程仓库下载文件到本地的origin/master,然后可以手动对比修改决定是否合并到本地的master库。Pull则是直接下载并合并。
1.5 git版本库中文件颜色
1.褐红色 表示新建的文件, 需要add操作
2.绿色 表示通过add操作提交到本地仓库,需要commit操作
2.蓝色 表示修改的文件,需要commit操作
红色和蓝色,绿色都表示待提交项目,通过commit操作后,通过pull,push提交到远程仓库中。
1.6 git版本库中冲突问题的解决常规办法
如果push提交失败则表示,你本地项目没有进行更新,和服务器上的项目有冲突,需要解决冲突,然后才能提交。
当pull失败时,说明服务器上的代码和本地代码有冲突,这时则需要把本地有冲突的代码备份,然后还原,再pull,这时pull成功后,再把自己备份的代码部分,拷入相应的代码中,这时候再进行push就可以了
1.7 git托管中心
1.8 笔记资料
视频资料:
背后的天际线: 写的真的很全面!结构清晰帮我理清了很多地方,感谢
今天吃什么诶: 不能在一个项目里创建多个执行器吗
weixin_65681809: 高手,,,2024年10月7日12:06:47
Xing-Zhuang: B-Tree的 - 不是减号,是杠
征途黯然.: JVM调优篇8调优案例5逃逸分析 article is excellent and truly impressive.