首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我在工作中是如何使用Git的

本文首发于政采云前端团队博客:我在工作中是如何使用 Git 的 https://www.zoo.team/article/how-to-use-git image.png 前言 最近在网上有个真实发生的案例比较火...Git简介 在介绍 Git 的相关操作前,我觉得非常有必要了解 Git 的由来,以及 Git 是用来解决什么问题的。...Index:暂存区,当执行 git add 的命令后,工作区的文件就会被移入暂存区,暂存区标记了当前工作区中哪些内容是被 Git 管理的,当完成某个需求或者功能后需要提交代码,第一步就是通过 git add...git rebase 交互模式 在开发中,常会遇到在一个分支上产生了很多的无效的提交,这种情况下使用 rebase 的交互式模式可以把已经发生的多次提交压缩成一次提交,得到了一个干净的提交历史,例如某个分支的提交历史情况如下...此时,我正在开发一个新功能,修改了 1.js 文件里的内容 ?

1.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在整个 Git 仓库的历史(包括所有分支和标签)中修改提交作者的信息(姓名和邮箱)

    一般情况下不建议修改 git 仓库的历史。 但是现在我计划开源我的一个项目,于是自己个人使用的姓名和邮箱就需要在开源的时候改为使用我公开的姓名和邮箱。...对于旧仓库,我将废弃,将来所有的精力都将在开源版本的仓库中;而对于开源版本的新仓库,由于此前没有人克隆过,所以也不会因为历史的修改产生问题。所以,我可以很放心地更改全部的 git 仓库历史。...---- 我打算将整个 Git 仓库历史中的名称和邮箱。 第一步:打开 Git Bash 进入本地的 Git 仓库目录,然后打开 Git Bash。...修改为你的旧邮箱(也就是需要替换掉的 Git 历史中的邮箱) CORRECT_NAME 修改为你的新名称 CORRECT_EMAIL 修改为你的新邮箱 对我来说,新名称也就是我在 GitHub 上的名称...walterlv,新邮箱也就是我在 GitHub 上公开使用的提交邮箱。

    39120

    我是如何做到的:不切换 Git 分支,同时在多个分支上工作的?

    checkout git history/log 是重复的,当项目历史非常长,.git 文件夹下的内容是非常占用磁盘空间的 同一个项目,多个 repo,不易管理 那如何做才能满足这些特殊场景,又不出现这些上述这些问题呢...在某一个目录下使用 Git 命令,当前目录下要么有 .git 文件夹;要么有 .git 文件,如果只有 .git 文件,里面的内容必须是指向 .git 文件夹的 第二句话感觉挺绕的,下面用例子说明,就很容易明白了...git log 中的任意一个 commit-ish) 创建一个名为 feature2 的分支,分支磁盘位置如上面结构所示 cd .....-fix-naming 删除了 worktree,其实在 Git 的文件中,还有很多 administrative 文件是没有用的,为了保持清洁,我们还需要进一步清理 git worktree prune...,hotfix 目录下存放所有 hotfix 的 worktree,这样整个磁盘目录结构不至于因为创建多个 worktree 而变得混乱 在磁盘管理上我有些强迫症,理想情况下,某个 repo 的 worktree

    1.5K20

    class文件中的方法表集合--method方法在class文件中是怎样组织的

    读完本文,你将会学到: 1、类中定义的method方法是如何在class文件中组织的 2、method方法的表示-方法表集合在class文件的什么位置 3、类中的method方法的实现代码---即机器码指令存放到哪了...对于在类中定义的若干个,经过JVM编译成class文件后,会将相应的method方法信息组织到一个叫做方法表集合的结构中,字段表集合是一个类数组结构,如下图所示: ?...2. method方法的描述-方法表集合在class文件中的位置 method方法的描述-方法表集合紧跟在字段表集合的后面(想了解字段表集合的读者可以点击我查看),如下图所示: ?...class文件中的机器指令部分是class文件中最重要的部分,并且非常复杂,本文的重点不止介绍它,我将专门在一片博文中讨论它,敬请期待。...属性表: 编译器在将java源码编译成class文件时,会将源码中的语句行号跟编译好的机器指令关联起来,这样的class文件加载到内存中并运行时,如果抛出异常,JVM可以根据这个对应关系,抛出异常信息

    1.7K50

    我是如何找到 Google Colaboratory 中的一个 xss 漏洞的

    view=classic 翻译作者:晚风(信安之路作者团队成员) 在本文中,我来讲讲我碰到的一个有趣的 XSS。2018 年 2 月,我在 google 的一个网络应用中发现了这个 XSS。...这种处理方式在科学研究中很方便。你可以准备一组数据和以什么方式处理这组数据的代码或者是维恩图。在 Colaboratory 的首页就有这种例子的展示。 ?...因为 markdown 在 Colaboratory 中被解析成 javascript 代码,于是我准备从这个应用中的 js 文件入手,查找到那段用于验证 URL 的正则表达式。...不幸的是,事实证明,MathJax 具有安全模式,可以防止这种攻击。 继续看文档,我发现 \unicode 命令可以使所有的 unicode 字符通过代码值的形式表示在 LaTeX 代码中。...总结 最后总结一下,首先我展示了我是如何在 Colaboratory 中识别 XSS,然后通过在 MathJax 依赖库中寻找到了安全问题从而在 DOM 树中注入了我们的恶意代码。

    1.6K00

    在没有DOM操作的日子里,我是怎么熬过来的(中)

    ,接下来我们就该聊聊项目里的各个文件了。...说到组件,在项目中,你可能会看到公司前辈写的组件代码,都是以 .vue 为后缀的文件,打开后你会发现它的整体结构分三层,分别定义了三个 tag标签,template,script,style。...的最初信仰就是,它非常的智能化,可以将一切的资源(包括html css javascirpt image)用 import 和 require 模块化引入,并对资源进行预处理,最终被打包成一个js文件解释执行...// 销毁前、销毁完成 这里闰土在网上找到一个很好的例子: 的时候,写好data 剩下的事情就是 通过异步请求来交互data,UI层绑定事件改变data,在组件间传递data。 后记 在这个MVVM横行的时代,我已经渐渐的忘却了jQuery的存在。

    1.6K110

    很开心,在使用mybatis的过程中我踩到一个坑。

    在实际开发过程中我踩到了mybatis的一个坑,我觉得值得记录、分享一下。 先说说这个坑是什么吧。如果你踩过这个坑,并且知道具体的原因,那这篇文章可以加深你的印象。...在这个地方,我整个sql都拿到了,如果往回走,就能很快的找到sql是在哪里产生的。 那我在BaseJdbcLogger的143行,打上断点,并运行起来。...图中标号为二的地方,就是v2的值,这个""的来源是我写在mapper.xml文件中if标签里面的表达式。...但是,你再回过头的想一想,我最开始的改造mapper.xml是怎么操作的: 改造点很简单,在xml文件里面ctrl+c一下原来的if标签,再ctrl+v出来改改里面的名字就好了。...是的,我无脑的使用了CV大法。导致我在欢声笑语中写出了bug。我orderStatus传入的类型是一个Byte,和""做判断有任何意义吗?

    1K10

    很开心,在使用mybatis的过程中我踩到一个坑。

    这是why技术的第14篇原创文章 在实际开发过程中我踩到了mybatis的一个坑,我觉得值得记录、分享一下。 先说说这个坑是什么吧。...在这个地方,我整个sql都拿到了,如果往回走,就能很快的找到sql是在哪里产生的。 那我在BaseJdbcLogger的143行,打上断点,并运行起来。...图中标号为二的地方,就是v2的值,这个""的来源是我写在mapper.xml文件中if标签里面的表达式。...但是,你再回过头的想一想,我最开始的改造mapper.xml是怎么操作的: 改造点很简单,在xml文件里面ctrl+c一下原来的if标签,再ctrl+v出来改改里面的名字就好了。...是的,我无脑的使用了CV大法。导致我在欢声笑语中写出了bug。我orderStatus传入的类型是一个Byte,和""做判断有任何意义吗?

    1.7K10

    python接口测试:在一个用例文件中调用另一个用例文件中定义的方法

    简单说明 在进行接口测试时,经常会遇到不同接口间传递参数的情况,即一个接口的某个参数需要取另一个接口的返回值; 在平常写脚本过程中,我经常会在同一个py文件中,把相关接口的调用方法都写好,这样在同一个文件中能够很方便的进行调用...; 后来随着功能增多,在写其他py文件时,有时也会先调用某个相同的接口来获取参数; 如果在每个py文件中都写一遍调用某个接口的方法,会显得很啰嗦,也不好维护,并且以后万一提供数据的那个接口发生变化...,需要调整很多地方; 所以,当我们在一个用例py文件中写好某个接口调用方法,后续如果在其他py文件中也要用到这个接口的返回值,则直接引用先前py文件中定义好的接口调用方法即可。...:CreateActivity, 继承自unittest.TestCase 然后在setUp方法中进行了一些必要的初始化工作 最后创建了一个名为push_file_download的方法,它的作用就是调某个接口...,而view_activity方法有一个必传参数id,这个id就是由test_A.py文件中CreateActivity类下的 push_file_download 方法生成的; 所以这里要先调用

    2.9K40

    在GaiaWorld公链中,地址是如何成功锻造一个区块的?

    共识机制是分布式系统的核心,在P2P网络中,互相不信任的节点通过遵循预设机制最终达到数据的一致性称为共识。...那么在GaiaWorld公链设计的CPoS共识机制之下,一个地址是如何成功锻造一个区块的呢?(锻造区块:类似于在以太坊中挖矿)。...锻造委员是Gaia链一个拥有创建区块权利的地址合集。...不难看出,在Gaia链中,投票权与保证金数量的正相关关系相比PoS机制是特意降低过的,这样是为了激励更多锻造委员参与到区块锻造中来,既能够保证小额锻造委员的锻造权益,也能够保证有更多节点主体参与到维护公链中来...总结: 以上简单的描述了在Gaia链中一个地址是如何加入锻造委员会,如何获得区块锻造权利的,但CPoS的设计细节远不止于此,并且还涉及到与加密算法、验证节点权益状态等技术的交叉,我们将在之后的文章中进行逐步的分析

    63030

    为什么在深度学习中,AlphaGo Zero是一个巨大的飞跃?

    AlphaGo Zero是DeepMind的自动操作系统的最新化身。有人可能会认为,在围棋中击败人类世界冠军是很难的。...我发现,在使用较少的训练数据的同时,开发利用的搜索机制能够创造性地发现新策略。这是很奇怪的,就好像是自我对弈在回馈自己,并让自己更好地学习。...在这两种情况下,你都有两个在训练中互相馈送的网络。 每个人都应该想到的一个重要问题是:“AlphaGo Zero的算法有多普遍?”DeepMind曾公开表示,他们将把这项技术应用于药物研发领域。...它可以有效地做到这一点,因为所有其他的不确定因素都是已知的。也就是说,在一系列行为的结果中没有不确定性,行为效果是可以预测的。简而言之,博弈的行为是可以预测的。...讽刺的是,当DeepMind在没有人类偏见的情况下训练人工智能时,人类发现他们并不理解它!这是另一个不可理解的维度。有一些原始的概念是我们无法理解的。

    96380

    设置Git--在Git中设置您的用户名--创建一个回购--Fork A Repo--社会化

    设置Git GitHub的核心是名为Git的开源版本控制系统(VCS)。Git负责计算机上本地发生的所有GitHub相关的事情。 要在命令上使用Git,您需要在计算机上下载,安装和配置Git。...设置Git:下载并安装最新版本的Git,下载网址:https://git-scm.com/downloads 在Git中设置您的用户名 Git使用用户名将提交与身份相关联。...在您的计算机在设置您的Git用户名:$ git config –global user.name“ #用户名#” 设置电子邮件地址:$ git config –global user.email“ email...在创建公共或私有资源库之间进行选择: 公共仓库是入门的好选择。它们对于GitHub上的任何用户都可见,因此您可以从协作社区中受益。 私有存储库需要更多的设置。...您可以提交拉动请求,以便通过将更改提交到原始项目来帮助其他人的项目更好。分叉是GitHub社交编码的核心。 社会化 GitHub的一个重要功能是能够看到其他人正在工作,以及他们正在连接在一起。

    83120

    如何搭建一个PB级大数据中台?我之前是这么搞的!

    那么,怎样的架构最能满足降本增效?2015年,阿里率先布局中台战略,虽然张勇近期在阿里内网发布文章表示,他对目前阿里的中台并不满意,但“大数据中台”这个由中台延伸出的概念,已然成为行业标配。...数据中台,是中台战略体系中非常重要的一部分。身为一名大数据架构师,在落地大数据中台架构的过程中,需要具备哪些架构能力和大数据能力?有哪些可复用的优秀经验,以及需要规避的问题点?...01 一个10年首席架构师的自白 作为前58集团技术委员会主席、前58转转首席架构师,我最近一直在反复问自己一个大数据架构师成长问题:百万年薪大数据架构师的核心竞争力,到底是什么?...我认为,是对架构设计的升维认知,以及所具备的顶级思维模型。 作为百万年薪大数据架构师的顶级思维模型之一:根据(业务)场景Balance的架构设计思维模型。...在新技术日新月异变化的今天才不会迷失方向,才不会担心惧怕所谓35岁年龄问题。 那么,如何拥有这些顶级架构思维模型?我想,只有切实在企业级真实架构设计实践才能出真知!

    1.2K50

    在centos搭建git服务器时,不小心把homegit目录删除了,我是怎么恢复的

    在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的 在删除掉/home/git目录后,每次 git push提交时,都让填写密码,烦 第一步:在本地找到id_rsa.pub...公钥文件,这个是共用的,Linux系统和github 中都是使用的这个文件 第二步:在/home下创建git用户的文件夹, 命令 我的git用户名就是Git mkdir git chown -R...git:git git 更改用户的所有者 第三步:在git文件夹下创建 .ssh文件夹 第四步;在 .ssh 文件夹下创建文件authorized_keys 第五部:将id_rsa.pub文件中的值复制到...authorized_keys文件中,保存并退出, 完成,再次修改再提交时不用再输入密码。

    87120

    最近很火的Vue Vine是如何实现一个文件中写多个组件

    大家好,我是欧阳,又跟大家见面啦! 前言 在今年的Vue Conf 2024大会上,沈青川大佬(维护Vue/Vite 中文文档)在会上介绍了他的新项目Vue Vine。...Vue Vine提供了全新Vue组件书写方式,主要的卖点是可以在一个文件里面写多个vue组件。...transform钩子函数的接收的第一个参数为code,是当前文件的code代码字符串。第二个参数为id,是当前文件路径,这个路径可能带有query。...总结 Vue Vine是一个vite插件,vite解析每个模块时都会触发插件的transform钩子函数。在钩子函数中会去判断当前文件是否以.vine.ts结尾的,如果不是则return。...在compileVineTypeScriptFile函数中先new一个vineFileCtx上下文对象,对象中的root属性存了由.vine.ts文件转换成的AST抽象语法树。

    33921
    领券