git部分操作

这篇具有很好参考价值的文章主要介绍了git部分操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Git是目前世界上最先进的分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务
特性:易于学习,占用内存小,具有闪电般快速的性能
使用Git和Gitlab搭建版本控制环境是现在互联网公司最流行的版本控制方式

1、git 的工作原理

git的文件状态分为三种,可以通过git status进行查询,状态情况如下:

  • 已修改(modified):表示修改了文件,但还没保存到数据库中。
  • 已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
  • 已提交(committed):表示数据已经安全的保存在本地数据库中。

文件状态对应的,不同状态的文件在Git中处于不同的工作区域,主要分成了四部分:

  • 工作区:相当于本地写代码的区域,如 git clone 一个项目到本地,相当于本地克隆了远程仓库项目的一个副本
  • 暂存区:暂存区是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中
  • 本地仓库:提交更新,找到暂存区域的文件,将快照永久性存储到 Git 本地仓库
  • 远程仓库:远程的仓库,如 GitHub
    git部分操作,git,前端

2、Git中 fork, clone,branch这三个概念,有什么区别

  • fork则可以代表分叉、克隆 出一个(仓库的)新拷贝; 包含了原来的仓库(即upstream repository,上游仓库)所有内容,如分支、Tag、提交;
  • clone,它的作用是将文件从远程代码仓下载到本地,从而形成一个本地代码仓库
  • branch,就是开启另一个分支, 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线

3、git常用命令

配置

  • git config [–global] user.name “[name]”
  • git config [–global] user.email “[email address]”

启动

  • git init [project-name]:创建或在当前目录初始化一个git代码库 , 默认为 master 分支
  • git clone url:下载一个项目和它的整个代码历史

常用命令

  • git add . 提交全部文件修改到缓存区
  • git add <具体某个文件路径+全名> 提交某些文件到缓存区
  • git diff 查看当前代码 add后,会 add 哪些内容
  • git status 查看当前分支状态
  • git pull <远程仓库名> <远程分支名>:<本地分支名> 拉取远程仓库的分支与本地某个分支合并
  • git commit -m “<注释>” 提交代码到本地仓库,并写提交注释

分支操作

  • git branch 查看本地所有分支
  • git branch -r 查看远程所有分支
  • git branch <新分支名> 基于当前分支,新建一个分支
  • git branch -m <原分支名> <新分支名> 分支更名
  • git checkout <分支名> 切换到本地某个分支
  • git checkout -b <新分支名> 把基于当前分支新建分支,并切换为这个分支
  • git push --delete 删除远程分支
  • git branch -D <分支名> 删除本地某个分支
  • git merge <分支名> 合并分支
  • git merge --abort 合并分支出现冲突时,取消合并,一切回到合并前的状态
  • git push --set-upstream origin {本地分支名}:{远程分支名} 将本地分支和远程分支进行关联

远程同步

  • git fetch [remote] 下载远程仓库的所有变动,不合并到工作区中
  • git pull [remote] [branch] 拉取远程仓库的分支与本地当前分支合并
  • git push [remote] [branch] 上传本地指定分支到远程仓库
  • git push [remote] --force 强行推送当前分支到远程仓库,即使有冲突
  • git push [remote] --all 推送所有分支到远程仓库

撤销

  • git checkout [file] 恢复暂存区的指定文件到工作区
  • git checkout [commit] [file] 恢复某个commit的指定文件到暂存区和工作区
  • git reset [commit] 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
  • git reset --hard 重置暂存区与工作区,与上一次commit保持一致
  • git reset [file] 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
  • git revert [commit] 后者的所有变化都将被前者抵消,并且应用到当前分支

存储操作

  • git stash 暂时将未提交的变化存储到栈中
  • git stash pop 取出储藏中最后存入的工作状态进行恢复,会删除储藏
  • git stash list 查看所有储藏中的工作
  • git stash clear 清空所有储藏中的工作
  • git stash drop <储藏的名称> 删除对应的某个储藏

git部分操作,git,前端

4、git rebase 和 git merge的区别

merge

通过merge合并分支会新增一个merge commit,然后将两个分支的历史联系起来
其实是一种非破坏性的操作,对现有分支不会以任何方式被更改,但是会导致历史记录相对复杂

rebase

rebase会将整个分支移动到另一个分支上,有效地整合了所有分支上的提交
主要的好处是历史记录更加清晰,是在原有提交的基础上将差异内容反映进去,消除了 git merge所需的不必要的合并提交

5、git 发生冲突的场景?如何解决

产生冲突的原因
多个分支修改了同一个文件(任何地方)或者多个分支修改了同一个文件的名称

当Git无法自动合并分支时,就必须首先解决冲突,解决冲突后,再提交,合并完成
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交文章来源地址https://www.toymoban.com/news/detail-827757.html

  • 通过git stash命令,把工作区的修改提交到栈区,目的是保存工作区的修改;
  • 通过git pull命令,拉取远程分支上的代码并合并到本地分支,目的是消除冲突;
  • 通过git stash pop命令,把保存在栈区的修改部分合并到最新的工作空间中;

到了这里,关于git部分操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023前端面试上岸手册——VUE部分

    当 一 个 Vue 实 例 创 建 时 , Vue 会 遍 历 data 中 的 属 性 , 用 Object.defineProperty ( vue3.0 使 用 proxy ) 将 它 们 转 为 getter/setter,并且在内部追踪相关依赖,在属性被访问和修改时通知变化。 每个组件实例都有相应的 watcher 程序实例,它会在组 件渲染的过程中把属性记录为

    2024年02月06日
    浏览(46)
  • 2023前端面试上岸手册——JavaScript部分

    JavaScript 共有八种数据类型,分别是 Undefined、Null、Boolean、 Number、String、Object、Symbol、BigInt。 其中 Symbol 和 BigInt 是ES6 中新增的数据类型: Symbol 代表创建后独一无二且不可变的数据类型,它主要是为了解决可能出现的全局变量冲突的问题。 BigInt 是一种数字类型的数据,它可

    2024年02月02日
    浏览(39)
  • 【瑞吉外卖】Git部分学习

    Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种: 本地仓库:开发人员自己电脑上的Git仓库 远程仓库:远程服务器上的Git仓库  commit:提交,将本地文件和版本信息保存到本地仓库 pus

    2024年02月13日
    浏览(75)
  • 前端面试的性能优化部分(1)每篇10题

    懒加载(Lazy Loading)是一种优化技术,它用于延迟加载页面资源,只在需要时才加载特定的内容,而不是在页面初始加载时一次性加载所有资源。懒加载的目的是提高页面加载速度和性能,尤其对于单页应用(SPA)或包含大量图片和其他资源的网页来说尤为重要。 懒加载可以

    2024年02月14日
    浏览(43)
  • 前端面试的性能优化部分(3)每篇10题

    优化移动端网页的性能是提升用户体验、降低用户流失的关键。以下是一些优化移动端网页性能的常见方法: 压缩和合并资源: 压缩 CSS、JavaScript 和图片等静态资源,减少文件大小,同时合并多个文件,减少请求次数,加快页面加载速度。 使用响应式图片: 使用不同尺寸的

    2024年02月14日
    浏览(45)
  • 前端面试的性能优化部分(2)每篇10题

    常见的图片格式有 JPEG、PNG、GIF、WebP 和 SVG,它们各有适用的使用场景: JPEG (Joint Photographic Experts Group): 使用场景:适用于照片和真实场景的图片,特别是色彩丰富和渐变丰富的图像。 优点:压缩率高,图片文件较小,保持较高的图像质量。 缺点:不支持透明度。 PNG (Por

    2024年02月15日
    浏览(43)
  • git部分文件不想提交解决方案

    正确的做法应该是:git rm --cached logs/xx.log,然后更新 .gitignore 忽略掉目标文件,最后 git commit -m \\\"We really don\\\'t want Git to track this anymore!\\\" 具体的原因如下: 被采纳的答案虽然能达到(暂时的)目的,但并非最正确的做法,这样做是误解了 git update-index 的含义,而且这样做带

    2024年02月02日
    浏览(39)
  • Git、CSS、Vue部分问题解决

    实习期间一部分总结的知识 Git相关 vscode更新最新添加的分支 git remote update origin --prune 统计项目中所有文件的总代码行数 git ls-files | xargs cat | wc -l Git报错: Failed to connect to github.com port 443 解决方案 git 拉取远程分支到本地 git init git remote add origin git链接 git fetch origin dev(dev为

    2024年04月09日
    浏览(17)
  • 对前端PWA应用的部分理解和基础Demo

    一、什么是PWA应用? 1、PWA简介 ​ 渐进式Web应用(Progressive Web App),简称 PWA ,是 Google 在 2015 年提出的一种使用web平台技术构建的应用程序,官方认为其核心在于 Reliable (可靠的)、 Fast (快速的)、 Engaging (可参与的),结合了web网站程序和原生应用程序两者的优点,

    2024年02月12日
    浏览(30)
  • php许愿墙代码包括前端和后端部分

    以下是一个简单的PHP许愿墙代码示例,包括前端和后端部分: 前端HTML代码(index.html): 后端PHP代码(wishwall.php): 以上代码实现了一个简单的许愿墙功能。用户在前端页面填写姓名和愿望,点击提交后,后端PHP代码会将愿望以文本形式追加到一个名为 \\\"wishes.txt\\\" 的文件中,

    2024年02月03日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包