| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 【玩转Git三剑客】Git学习笔记-20220902 -> 正文阅读 |
|
[开发工具]【玩转Git三剑客】Git学习笔记-20220902 |
第一章:Git基础 (13讲)01 | 课程综述Git 官网: GitHub: GitLab: 02 | 安装Githttps://git-scm.com/book/zh/v2 03 | 使用Git之前需要做的最小配置
04 | 创建第一个仓库并配置local用户信息1)第一种理解 对于第一种理解: 对于第二种理解: 05 | 通过几次commit来认识工作区和暂存区git add .与git add -A的区别 1.x版本: (1).git add all可以提交未跟踪、修改和删除文件。 (2).git add .可以提交未跟踪和修改文件,但是不处理删除文件。 2.x版本: 两者功能在提交类型方面是相同的。 二.所在目录不同导致的差异: (1).git add all 提交的是整个仓库 06 | 给文件重命名的简便方法git mv filesA FilesB 07 | 通过git log查看版本演变历史本节的一些演示命令总结 08 | gitk:通过图形界面工具来查看版本历史gitk 09 | 探密.git目录cat HEAD 查看HEAD文件的内容 HEAD:指向当前的工作路径 10 | commit、tree和blob三个对象之间的关系git有3种对象:commit、tree、blob。每次的提交,都是一个commit,一个commit又是包含了一棵tree,每个tree里面又是包含了多棵tree和blob,而文件的的最终形式是blob。对于blob,git会认为文件内容相同,就使用同一个blob,这样就极大的避免了频繁的提交时,git的存储空间的急剧上升。 每一次commit都对应一个tree,那这个tree是包裹在最外层的一个tree,使用git cat-file -p 命令的时候查看tree内部的内容,这里的每一个文件夹都可以看成一个tree,而在这些文件夹中的具体文件内容两两不相等文件都是一个blob,内容相同的文件统一为一个blob。 11 | 小练习:数一数tree的个数略 12 | 分离头指针情况下的注意事项那分离头指针在企业或日常使用中, 到底有哪些具体的适用地点呢? git checkout commitId:会出现分离头指针的情况,这种情况下比较危险,因为这个时候你提交的代码没有和分支对应起来,当切换到其他分支的时候(比如master分支),容易丢失代码;但是分离头指针也有它的应用场景,就是在自己做尝试或者测试的时候可以分离头指针,当尝试完毕没有用的时候可以随时丢弃,但是如果觉得尝试有用,那么可以新建一个分支,使用 git branch <新分支的名称> commitId 13 | 进一步理解HEAD和branch"^"这个操作符代表父commit。 连续的“^”符号依次沿着父commit进行定位,直到某个祖先commit。 ~ 相当于连续n个符合“^”。 所以,HEAD^^ 等同于 HEAD~2 是对的。 第二章:独自使用Git时的常见场景 (16讲)14 | 怎么删除不需要的分支?git branch -d branch_name:使用-d 在删除前Git会判断在该分支上开发的功能是否被merge的其它分支。如果没有,不能删除。如果merge到其它分支,但之后又在其上做了开发,使用-d还是不能删除。-D会强制删除。 15 | 怎么修改最新commit的message?git commit --amend 对最新一次提交做 commit 修改 16 | 怎么修改老旧commit的message?修改历史的 Commit message,通常用在还没有提交到集成分支之前: 17 | 怎样把连续的多个commit整理成1个?把连续的多个 Commit 合并为 1 个: 18 | 怎样把间隔的几个commit整理成1个?修改最新的:git commit --amend 19 | 怎么比较暂存区和HEAD所含文件的差异?vi index.html 修改index.html的内容 20 | 怎么比较工作区和暂存区所含文件的差异?假定:HEAD、缓存区、工作区中的readme.md文件内容均不相同。 21 | 如何让暂存区恢复成和HEAD的一样?git reset 有三个参数 22 | 如何让工作区的文件恢复为和暂存区一样?舍弃html文件的修改 23 | 怎样取消暂存区部分文件的更改?git reset HEAD ,是让暂存区恢复为HEAD所指向的节点,使用了该命令后,工作区修改的内容会被保留(保险),如果本地的修改需要丢弃掉,那么可使用–hard 24 | 消除最近的几次提交修改了工作区,恢复:git checkout add后,想撤销: git reset HEAD commit后,想撤销: git reset–hard hash值 25 | 看看不同提交的指定文件的差异git diff commit-id1 commit-id2 path-to-filename 对不同的分支进行差异化的比较使用 git diff commit_id commit_id – index.html 26 | 正确删除文件的方法本课使用【rm < filename>】先删除工作区的文件后,再使用命令【git add < filename>】提交到暂存区中,效果和使用【rm < filename>】再使用【git rm < filename>】一样。只是【git rm < filename>】可以省略本地工作区【rm < filename>】这个命令的操作步骤。 27 | 开发中临时加塞了紧急任务怎么处理?git stash 将手头正在修改的东西先存起来放到一边去处理紧急任务 git stash apply git stash pop 和stash的区别 pop中list不保留 apply保留 28 | 如何指定不需要Git管理的文件?.gitinore对其中的内容进行配置,可以设置git不用管理的文件或者文件夹 29 | 如何将Git仓库备份到本地?1)找个目录执行 clone 。或
第三章:Git与GitHub的简单同步 (4讲)30 | 注册一个GitHub账号略 31 | 配置公私钥首次生成密钥时还需要执行一下命令 github网站更新后,配置SSH keys的入口在:右上角头像 --> Settings --> 左侧导航栏的SSH and GPG keys 32 | 在GitHub上创建个人仓库略 本地分支往远端分支做push,如果远端分支不是本地分支的祖先,那它俩就不是 fast forward 了。反之,它俩就是fast forward的关系。 33 | 把本地仓库同步到GitHub个人笔记总结 第四章:Git多人单分支集成协作时的常见场景 (5讲)34 | 不同人修改了不同文件如何处理?每次push本地代码之前pull一下远端代码,然后在push,就没有问题了。 老师你好,我有个问题哈,clone命令 git clone git@github.com:git2019/git_learning.git既然已经把远程仓库所有内容都克隆到本地了,为什么还需要git checkout -b feature/add_git_commands origin/feature/add_git_command 命令基于远程分支在本地建立分支,不是从远程clone下来了嘛,为什么还要新建,难道clone命令不能克隆分支嘛 35 | 不同人修改了同文件的不同区域如何处理?git pull 相对于两步git fetch+merge在什么场景下有问题?谢谢。 36 | 不同人修改了同文件的同一区域如何处理?git使用原则 37 | 同时变更了文件名和文件内容如何处理?一个人改了文件名,一个人改了文件内容,还是可以自动处理的。前面章节讲git的文件存储时,说git存放blob文件时是以文件内容来区分的,并不以文件名来区分;此处的变更文件名操作和变更文件内容的操作能够自动被git处理,原因就在于blob文件并没有发生修改的冲突吧?如果其中一个人既变更了文件名又修改了文件,同时另一个人也修改了该文件的同一位置的内容,就会被git识别为冲突,而不能自动进行处理了。 38 | 把同一文件改成了不同的文件名如何处理?人为判断需保留哪一个文件。老师,你好。想问一下比较简单的多人协助开发代码怎么管理代码分支合并? 现在我作为一个小组长,每天要合并各个成员的代码,打包到测试、预上线等等环境。又涉及到出错回滚等等。每天都花挺多时间在这里。老师能否给个流程或者建议。谢谢了。 作者回复: 你们看起来配置了专门的集成人员,你就充当了类似的角色。我补充说一下,如果你是懂业务并懂开发的,那么你来做这个涉及集成的一系列的工作,倒也挺好。否则就让开发自己来做集成。 第五章:Git集成使用禁忌 (2讲)39 | 禁止向集成分支执行push -f操作老师,如果发现之前提交的commit不想要了,想恢复成之前的样子,是不是就不得不用git push -f命令了呢? 作者回复: 自己独自使用的分支,可以采用push -f 的方式。 40 | 禁止向集成分支执行变更历史的操作1:在主干分支上禁止使用git push -f 2:在主干分支上禁止使用变更提交历史的命令 自己的分支随意,自己可以完全掌控,自己完全负责。公共分支是公地,不要做出影响他人的行为。 第六章:初识GitHub (6讲)41 | GitHub为什么会火?略 42 | GitHub都有哪些核心功能?略 43 | 怎么快速淘到感兴趣的开源项目?之前在github上搜索项目,直接用项目名搜索,学习这一讲内容后,以后可以添加其他限制条件,如stars:>1000,in:readme等,可以快速有效搜索自己刚兴趣的项目。 44 | 怎样在GitHub上搭建个人博客略 45 | 开源项目怎么保证代码质量?略 46 | 为何需要组织类型的仓库?老师,我有个问题,就是如果某用户加入了某个组织,这个组织可以管理n个仓库,那么我是这个组织的一员,是不是就可以对这些仓库进行操作?还是我加入了组织,还得加入到某个team,才能对应进行操作? 第七章:使用GitHub进行团队协作 (10讲)47 | 创建团队的项目略 48 | 怎样选择适合自己团队的工作流?
49 | 如何挑选合适的分支集成策略?50 | 启用issue跟踪需求和任务github 51 | 如何用project管理issue?github 52 | 项目内部怎么实施code review?github:pull request 53 | 团队协作时如何做多分支的集成?略 54 | 怎样保证集成的质量?略 55 | 怎样把产品包发布到GitHub上?Travis-CI工具 56 | 怎么给项目增加详细的指导文档?wiki 第八章:GitLab实践 (6讲)57 | 国内互联网企业为什么喜欢GitLab?略 58 | GitLab有哪些核心的功能?59 | GitLab上怎么做项目管理?gitlab 60 | GitLab上怎么做code review?gitlab:merge request 61 | GitLab上怎么保证集成的质量?CICD 62 | 怎么把应用部署到AWS上?CICD的例子 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:21:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |