个人网站设计需求分析,黑马程序员前端培训费用,龙海市城乡建设局网站,vs中做网站设置背景图片版本控制工具——Git 前言一、版本库二、git的工作区域和文件状态三、添加和提交文件四、回退版本#xff1a;git reset --模式 版本号五、查看差异#xff1a;git diff六、从版本库中删除文件七、.gitignore#xff1a;git中的特殊文件八、Git、GitHub跟Sourcetree的关系九… 版本控制工具——Git 前言一、版本库二、git的工作区域和文件状态三、添加和提交文件四、回退版本git reset --模式 版本号五、查看差异git diff六、从版本库中删除文件七、.gitignoregit中的特殊文件八、Git、GitHub跟Sourcetree的关系九、Github基础使用十、关联本地仓库和远程仓库十一、分支简介十二、解决冲突十三、rebase和回退十四、分支管理和工作流模型 前言
Git相关知识我是看的B站GeekHour老师的视频学的亲测是我个人觉得讲得最能听懂的一位推荐推荐其他老师也都很厉害是我太菜以下是做的学习笔记 GeekHour老师的一小时Git教程链接
一、版本库
版本库仓库简称Repo可以理解为一个目录这个目录下所有文件都可以被git管理起来每个文件的修改、删除、添加等操作git都能够跟踪到以便任何时候都可以追踪历史或者还原到之前的某个版本 创建仓库的两种方式 git init在电脑本地创建仓库 git clone从github这种远程服务器上克隆一个已经存在的仓库
二、git的工作区域和文件状态
git的本地数据分为三个区域工作区实际操作的本地工作目录、暂存区用于保存即将提交到git仓库的修改内容和本地仓库git存储代码和版本信息的主要位置
三、添加和提交文件
git init创建仓库
git status查看仓库状态
git add添加到暂存区如 git add file1.txt git add *.txt 将当前文件夹下所有txt格式的文件都添加到暂存区 git add . 将当前文件夹下的所有文件都添加到暂存区
git commit提交到仓库 git commit -m第二次提交 【注】不加-m的话就会进入图形界面来进行提交 git log 查看仓库提交记录git log --oneline可查看简洁的提交记录
四、回退版本git reset --模式 版本号
选择soft、hard、mixed三种模式决定了在回退版本后工作区和暂存区的内容是否会被清空:
工作区暂存区git reset --soft不会清空不会清空git reset --hard会清空会清空git reset --mixed不会清空会清空
【注1】就算回退到原始版本了也可以通过 git reflog命令查看各个版本号再通过git reset来回到新版本号就行了 【注2】git reset --模式 HEAD^ 表示快捷地回退到上一个版本号
五、查看差异git diff
查看工作区、暂存区、本地仓库之间的差异 git diff:查看工作区与暂存区的差异显示发生更改的文件以及更改的详细信息没有返回内容就说明没有差异 git diff HEAD比较工作区和库之间的差异 git diff CACHED比较暂存区和库之间的差异 查看不同版本之间的差异 git diff 版本号1 版本号2 git diff HEAD~ HEAD或者git diff HEAD^ HEAD :直接比较最新版本和上一个版本 git diff HEAD~2 HEAD直接比较最新版本和上两个版本 git diff HEAD~ HEAD file1.txt比较最新版本和上一个版本中file1.txt的差异 也可查看不同分支之间的差异
六、从版本库中删除文件
方式一直接删除文件后提交 首先在本地工作区删除文件再在暂存区中删除使用的是addgit add .再提交 方式二git rm 在工作区、暂存区同时删除了
git rm file2.txt【注1】一定要记得删除后要提交库中的文件才会删除 【注2】git rm --cached file.txt就只会在版本库中将其删除
七、.gitignoregit中的特殊文件
让我们忽略掉一些不该被添加到版本库中的文件 一般会忽略掉 系统或软件自动生成的文件编译产生的中间文件和结果文件运行时生成日志文件、缓存文件、临时文件涉及身份、密码、口令、秘钥等敏感信息文件
举例将access.log这个文件忽略掉
echo access.log.gitignore【注】.gitignore生效有个前提这个文件不能是已经被添加到版本库中的文件要想忽略它就必须先从库中删除
八、Git、GitHub跟Sourcetree的关系
Git是基础的版本控制工具GitHub是基于Git构建的线上社区和仓库托管平台让开发者能够相互协作和分享而Sourcetree则是为了简化和提升Git操作体验的图形化客户端工具
九、Github基础使用
生成SSH KEY 克隆仓库git clone github上的仓库名 在本地库中更新文件使用git push推送更新的内容 拉取更新内容git pull
十、关联本地仓库和远程仓库
本地已经有了一个仓库怎么放到远程仓库 cd到该仓库地址下 依次复制粘贴运行github上提示的代码
git remote add origin gitgithub.com:geekhall-laoyang/first-repo.git
git branch -M main
git push -u origin main十一、分支简介
多个开发人员可以在自己的分支上进行开发工作最后再合并到主线上或者建立一个问题修复的分支来处理一些bug和缺陷这样就可以让主线代码仓库始终处于一个稳定状态让每个人员可以独立地开发和测试 git branch 查看当前处于哪个分支上并且一共有哪些分支 git branch 分支名 可以创建一个分支但此时还没有切换到该分支上 git switch 分支名 可以切换到该分支上 git merge 分支名 切换到main分支上后使用该命令可以将指定的分支合并到main上 git branch -d 分支名 删除已经合并到main上的某个指定分支 git branch -D 分支名 强制删除某个指定的分支就算它没有合并到main也可以删除
十二、解决冲突
如果两个分支有重复内容的话两个分支修改了同一个文件的同一行代码git就不知道该保留哪个分支的修改内容了也就产生了冲突就需要手动去解决
十三、rebase和回退
rebase变基 git rebase 分支名 什么情况下使用rebase一般来说如果只是想把两个分支合并起来而不关心提交历史那就使用merge如果确定只有自己一个人在这个分支上进行开发且希望提交历史更直观明了一些就使用rebase 1、merge要先切换到main分支上再执行merge操作而rebase可以在任意分支上执行 2、merge优点不会破坏原分支的提交历史方便回溯和查看merge缺点会产生额外的提交节点分支图比较复杂 3、rebase优点不会新增额外的提交记录会形成线性历史比较直观干净rebase缺点会改变提交历史改变了当前分支的节点避免在共享分支时使用一般不会在公共的分支上执行rebase操作
回退 将某个已删除的指定分支恢复到某个指定提交时间点的状态git checkout -b 分支名 提交id 将仓库恢复到指定提交时间点的状态使用上述的reset
十四、分支管理和工作流模型
1、常见的工作流模型 GitFlow模型 GitHubFlow模型 2、分支的命名规范 推荐使用带有意义的描述性名称来命名分支 版本发布分支/Tag示例v1.0.0 功能分支示例feature-login-page 修复分支示例hotfix-#issueid-desc
3、分支管理 定期合并已经成功验证的分支即使删除已经合并的分支保持合适的分支数量并为分支设置合适的管理权限