乐趣区

关于segmentfault-技术周刊:SegmentFault-思否技术周刊-Vol78-Git-必看技术补给

Git 的诞生是一个十分乏味的故事。1991 年 Linus 开源了 Linux 内核,有数 Linux 爱好者在世界各地为 Linux 编写代码,那么问题来了,这些代码该如何治理呢?起初 Linus 应用 BitKeeper(BitMover 公司的版本控制软件)治理 Linux 的外围开发,起初 BitMover 进行了对 Linux 的反对,于是 Linus 秉承本人的版本本人写的精力,花了两周工夫本人用 C 写了一个分布式版本控制系统,这就是 Git。

本期技术周刊一起理解 Git,欢送大家浏览 ~

文章举荐

Git 操作不标准,战友提刀来相见!// 王中阳 Go

问题形容:

  • 小 A 和我在同时开发一个功能模块,他在优化之前的代码逻辑,我在开发新性能。
  • 小 A 在我之前把代码提交到了测试分支,我想提交我的新性能代码到测试分支时发现巨多抵触,脑袋霎时就炸了,Boom 一声惊雷响啊。

剖析一下:

  • 首先解决抵触浪费时间,我的新性能代码每次提测到测试分支都须要解决抵触。
  • 我在测试分支解决抵触,只能依照小 A 优化后的代码逻辑的去解决,和我本人的分支逻辑并不统一。
  • 交付给测试同学的测试分支代码,和我本人分支的代码不统一,这种测试是没有意义的。

好慌,我代码没了!不会是变基变出问题了吧?// Kagol

前两天检视代码时,发现 PR 外面有两个提交的形容信息截然不同,于是我提出应该将这两个提交合并成一个,放弃提交树的清晰。

先储存起来!
而共事这时正在开发别的个性,工作区不是洁净的,没法间接执行 git rebase 操作,于是很天然地执行

git stash

将正在批改的内容保留到一个栈中,并维持当前工作区洁净。
这样就能够执行切换分支、变基等操作,这些操作能执行的前提是当前工作区是洁净的。

工作中如何应用 Git // 沐华

本文将从 Git 入门到进阶、由浅入深,从常用命令、分支治理、提交标准、vim 基本操作、进阶命令、抵触预防、抵触解决等多方面开展,足以轻松应答工作中遇到的各种疑难杂症,如果感觉有所帮忙,还望看官高抬贵手给个赞呗,感激

虽说当初工作中应用 Git 都会用一些图形化管理工具来进步开发效率。可事实上应用图形治理化工具的前提,也是基于对命令都根本理解。还有比方我平时用的工具 GithubDesktop 因为不带第三方合并工具,只能手动解决抵触,而且有的性能没有,只能配合本人手动敲命令。

即便是工具也没有那么完满的工具,把握命令才是渔,工具只是鱼。其余的 Git 可视化管理工具比方:小乌龟、SourceTree、还有咱们开发用的 IDE 集成的,本期就不过多介绍了

Git 分支管理策略汇总 // alwaysbeta

最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何治理的,以及应该怎么提交代码?

我大略说了一些规定,但认真想来,如同也并没有造成一个清晰标准的流程。所以查了一些材料,总结出上面这篇文章,一共蕴含四种常见的分支管理策略,分享给大家。

在理论工作开发中十分实用的几个 git 命令 // FFF 方

git 在理论开发过程中的重要性对在座的各位来说想必不必我过多赘述,然而对于 git 中千千万万简单的命令来讲,在理论开发过程中只有小局部是最常常应用的,明天国庆节第一天,因为疫情起因没回家。闲着没事就给大家总结一下在理论工作中我集体最最最最常常应用的命令,并且我会联合我日常工作流程来解说。

tips: 就不过多介绍 git add-commit-push 这三个命令了

纯 Git 实现前端 CI/CD // believeyourself

最近要把前端 react 我的项目部署到公有服务器上,钻研了好几种继续部署计划,这里简略形容一下。

总的部署思路分两种:

1. 编译后的文件部署

编译后的文件部署,就是先在本地进行 npm run build 打包,生成 build 文件夹,而后将 build 文件夹传到服务器,再用 Nginx 配置一个动态解析即可。
这种计划用 rsync 间接上传就能够,这里不赘述。

2. 源码部署
源码部署就是把源文件上传到服务器上,而后:

$ npm install && npm run build

这种形式是将打包工作交给服务器(或其余构建工具),本地只是将源代码 push 下来,git 监听到推送而后主动开始构建。这是当初风行的形式,大多数继续集成工具都是这么干的。
明天的重头戏来了!咱们不借助其余构建工具,只用纯 Git 实现监听 push 并主动构建。置信我,这一步十分乏味~

工作中应用 Git 解决问题的场景 // 山头人汉波

简略来说,就这七点:

  • 应用 git rebase 让提交记录更加清晰可读
  • 应用 git reflog + git reset 跳到任意 commit
  • 应用 git cherry-pick 获取指定的 commit
  • 应用 git commit –amend 更改提交内容
  • 应用 git revert 回滚某次的提交
  • 应用 git stash 来暂存文件
  • 配置 git alias 晋升工作效率

git 配置以及替换 gerrit 默认 commit-msg hook // 记得要微笑

Git 配置标准:配置用户名和邮件

为了提交记录便于辨认,配置中文名,邮箱配置成 gitlab 注册邮箱

git config --global user.name "中文姓名"  
git config --global user.email "email@[email.com"

示例

user.name 配置规定: name# 工号 示例 git config --global user.name "张三 #A00003"

user.email 配置规定: 对立应用公司的邮箱。示例 git config --global user.email "san.zhang@casstime.com"

问答举荐

  • git 如何把本地所有分支通过命令行全副提交到近程仓库?
  • git 第一次提交失败是因为没有进入到我的项目名中提交吗?
  • git branch 查看分支为什么之前是 master ? 当初是 main?
  • git 如何在不进入交互式编辑器的状况下 合并 commit?
  • git 如何查看分支是从哪里分进去的?
  • git 如何放弃跟踪对一个文件单次批改的操作,然而不放弃批改?
  • git 分支合并问题?
  • git 如何找到代码是从哪个分支被 merge 进主分支的?
  • git 如何管制版本?
  • git 如何疏忽本地文件,同时不更改近程文件?

# SegmentFault 技术周刊 #

「技术周刊」是社区特地推出的技术内容系列,一周一主题。

每周二更新,欢送「关注」。大家也能够在评论处留言本人感兴趣的主题,举荐主题相干的优良文章。

如有问题能够增加小姐姐微信~

退出移动版