git 之修改 commit 以及 rebase 的使用

我在提交中犯了一个错误,我该如何解决? 我的提交历史一团遭,我改如何让它整洁? 如果您有过上述问题,那么这篇文章适合您。这篇文章介绍了一个让你成为 Git 专家的主题列表。 如果您不了解 Git 基础知识,请单击此处查看我的 Git 基础知识博客。您必须了解 Git 的基础知识才能充分利用本文。 我的提交中犯了一个错误。我该怎么办? 情景 1 假设您已经提交了一堆文件并意识到您输入的提交消息实际上并不清楚。现在您要更改提交消息。为此,您可以使用 git commit --amend git commit --amend -m “新提交消息” 情景 2 假设您想提交六个文件,但是,错误地,您最终只提交了五个文件。您可能认为可以创建新提交并将第6个文件添加到该提交。 这种方法没有错。但是,为了保持整洁的提交历史,如果你真的可以以某种方式将此文件添加到您之前的提交本身,那会不会更好?这也可以通过以下方式完成 git commit --amend: git add file6 git commit --amend --no-edit --no-edit 表示提交消息不会更改 场景3 无论何时在 Git 中进行提交,提交都会附上作者姓名和作者电子邮件。通常,当您第一次设置 Git 时,您需要设置作者姓名和电子邮件。您无需担心每次提交的作者详细信息。 也就是说,对于特定项目,您可能希望使用不同的电子邮件 ID。您需要使用以下命令为该项目配置电子邮件 ID: git config user.email “你的电子邮件ID” 假设您忘记配置电子邮件,并且已经完成了第一次提交。Amend 也可用于更改先前提交的作者。可以使用以下命令更改提交的作者: git commit --amend --author“作者姓名<作者电子邮件>” 注意:仅在本地存储库中使用该 amend 命令。使用远程存储库可能会造成很多混乱 amend 我的提交历史是一团糟。我该如何处理? 假设您正在处理一段代码。您知道代码大约需要十天才能完成。在这十天内,其他开发人员也将提交代码到远程存储库。 将本地存储库代码与远程存储库中的代码保持同步是一种很好的做法。这会在您提出拉取请求时避免很多合并冲突。因此,您决定每两天从远程存储库中提取一次更改。 每次将代码从远程存储库提取到本地存储库时,都会在本地存储库中创建新的合并提交。这意味着您的本地提交历史记录将会进行大量的合并提交,这会使审阅者感到困惑。 如何使提交历史看起来更整洁? 这就是 rebase 拯救的地方。...

January 22, 2019 · 1 min · 213 words · 桃翁

破坏开发人员生产力的十二件事

今天的文章是来自 medium 的一篇文章,点赞数有将近 1 万 9,所以翻译出来给大家分享一下,有些概念怕大家不了解,所以我放了一些 维基百科的解释。如果有翻译得不是很好的地方,请看原文:https://hackernoon.com/top-12-things-that-destroy-developer-productivity-2ddf0abc190 正文: 很多文章都涉及技术主管和项目经理的角色。我们经常遇到的一个共同主题是如何提高团队的工作效率。但是在你集中精力来提高生产力之前,你可能首先要考虑是什么在摧毁它,以便建立一个可靠的基础。不幸的是,即使 Peopleware 近 30 年前发布,我们也看到许多团队在一些(消极的)显着方式中遭受巨大的生产力损失! 没有人希望程序员在没有计算机的情况下完成工作,但是有很多公司希望程序员能够在不知情的情况下完成工作。这同样不切实际。 因此,让我们深入探讨我们的 12 个阻止您的开发人员“进入区域”并提高工作效率的事项列表。我将尝试从大多数到最不具影响力的列表中优先考虑此列表。随意评论! 如果您想知道这一切是否值得投资,只需考虑开发商的工资。生产力提高10%甚至更多! 中断和会议 在我看来,中断是开发人员的首要生产力杀手。开发人员在中断之前不能轻易回到他们正确的位置。他们需要进入发展的思维模式,然后慢慢追溯到他们离开的地方。这可能需要超过30分钟。中断越多,挫折越多,工作质量越差,错误就越多 - 而且还在继续。 “The more times you trip me up while I’m trying to get started — the longer between each time I’m going to try. If you fill my morning with interruptions — don’t be surprised when the day is unproductive.。” –A developer on Reddit 大概意思就是说,每次被打断都要重新开始,如果你的一天里经常被打断,那么当你一天没有任何成果的时候,不要感到惊讶。 会议怎么样?会议和中断之间的唯一区别是会议是计划中断,这会使情况变得更糟。如果开发人员在处理任务时知道他们会中断,则他们无法完成任务。因此,如果他们在一两个小时内召开会议,他们将无法取得任何进展,因为大多数工程任务需要更多时间。 As Paul Graham wrote, “A single meeting can blow a whole afternoon by breaking it into two pieces, each too small to do anything hard in....

November 23, 2018 · 1 min · 123 words · 桃翁

2020 年你应该知道的 React 库

声明:本文为译文,原文链接:https://www.robinwieruch.de/react-libraries React 已经诞生很久了,自从它诞生开始,围绕组件驱动形成了一个非常全面的生态,但是来自其他编程语言或者框架的开发人员很难找到要构建一个 React 系统的所有组件。如果你是来自于像 Angular 这样的框架的开发者,你可能已经习惯了框架包含了所需要的所有功能, 然而对于 React 来说,它的核心并不是完善所有的可选库。 这是优势还是劣势取决于你自己。 当我从 Angular 切换到 React,我绝对经历了它作为 React 的优势。 只有通过 React,您才能使用函数组件和 props 构建组件驱动的用户界面。 它带有一些内置的解决方案,例如,用于本地状态和副作用的 React Hooks。 下面的文章将向您提供一些自己总结的方法,以便从补充库中进行选择,从而构建一个全面的 React 应用程序。 如何开始 React 如果你是一个完全不熟悉 React 的初学者想创建一个 React 项目,加入 React 的世界。有许多工具包项目可以选择,每个项目都试图满足不同的需求。 React 社区的现状是通过 Facebook 的 create-react-app(CRA)。 它提供了一个零配置的设置,并给你一个开箱即用并且简单的启动和运行的 React 应用程序。 所有的工具都对您隐藏起来了,但是最终要由您来更改这些工具。 如果你已经熟悉 React,你可以选择它流行的入门工具包之一: Next.js 和 Gatsby.js。 这两个框架都建立在 React 之上,因此你应该已经熟悉 React 的基本原理。 Next.js 用于服务器端渲染(如动态 web 应用程序) ,Gatsby.js 用于静态站点生成(如博客、登陆页面)。 如果您只是想了解这些初学者工具包是如何工作的,那么可以尝试从头开始设置 React 项目。 你将从一个基本的 HTML 和 JavaScript 项目开始,然后自己添加 React 和它的支持工具。...

6 min · 1109 words · 桃翁

4个你从未听说过的强大的 JavaScript 运算符

你有没有花一个下午的时间浏览过 Mozilla 文档?如果你有,你会很清楚网上有很多关于 JavaScript 的信息。这使得人们很容易忽略一些不同寻常的 JavaScript 操作符。 然而,仅仅因为这些操作符不常见并不意味着它们不强大!它们在语法上看起来都很相似,但是当它们以不同的方式工作时,请务必阅读它们。 让我们开始吧! 译者注:nullish 代表 null 或者 undefined 1. ?? 操作符 在 JavaScript 中,?? 操作符被称为nullish 合并操作符。如果第一个参数不是 null/undefined,这个运算符将返回第一个参数,否则,它将返回第二个参数。让我们看一个例子。 null ?? 5 // => 5 3 ?? 5 // => 3 当为一个变量分配默认值时,JavaScript 开发人员传统上依赖于逻辑 OR 操作符,如下所示。 var prevMoney = 1 var currMoney = 0 var noAccount = null var futureMoney = -1 function moneyAmount(money) { return money || `You currently do not own an account in the bank` } console....

3 min · 552 words · 桃翁