美文网首页前端面试饥人谷技术博客让前端飞
如何享受一个美好的git开发体验

如何享受一个美好的git开发体验

作者: pengji | 来源:发表于2021-08-15 11:27 被阅读0次

摘取之前写的新人文档留个纪念。

前置学习:

熟练使用 oh-my-zsh下 git 简写, 开始的时候会有些别扭,但是熟练起来之后会让你的操作异常帅气: git 简写 枚举

# 常用简写速查
alias ga='git add'
alias gb='git branch'
alias gba='git branch -a'
alias gbd='git branch -d'
alias gcam='git commit -a -m'
alias gcb='git checkout -b'
alias gco='git checkout'
alias gcp='git cherry-pick'
alias gd='git diff'
alias gfo='git fetch origin'
alias ggpush='git push origin $(git_current_branch)'
alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
alias glgp='git log --stat -p'
alias gm='git merge'
alias gp='git push'
alias gst='git status'
alias gsta='git stash save'
alias gstp='git stash pop'
  • 双管齐下
    命令行。培育一个用着快捷、顺手的命令行环境; 图形工具 (source tree 等);
  • 学会使用vim: 花半个小时来学习一下vim的基本操作,会对之后的开发很有益处;

起手式:美好的开始从master分支开始

项目分支一般区分 master(online环境)、**其他环境, 除master 外的其他环境都有存在异常代码的风险,所以【规定】从master checkout 一条分支作为feature brach,从而减少异常代码对你本次开发的影响;

如何写一个规范的commit cz

  1. commit 本质上只要描述清楚你本次提交即可,建议使用英文描述;

  2. 事上本没有路,走的人多了,也就有了路。 见识使用 git-cz (commitizen & cz-conventional-changelog )来定向改善你的commit内容;


    如此青春俏皮的commit跃然纸上,谁不爱呢?

分支管理 rebase & merge

  1. 和conflict 做朋友
    新手朋友对于分支管理合并时总会感到有点恐慌,总怕在合并代码一不小心覆盖了别人的代码,从而造成奇异的bug。学会阅读和处理冲突,本质上冲突反映了两个分支的差异性,如果分支差异性过大,是不是嗅到一丝bad smell呢?
    学会用可视化的方式来解决冲突,明确的对比两个版本之间的差异,从而减少出错的概率;

  2. 学会取舍 - git diff
    区分rebase & merge时,比较的基准代码版本,从而理解当前分支合传入分支的区别;

rebase 执行流程 merge 执行流程
  1. 学会使用 git cherry-pick
    当两个分支差异过大时,使用cherry-pick 无外乎也是一种不错的方式,这种”捡🍒“的合代码方式,磨平了两个差异性巨大的分支合并时带来的问题,增量的合并使合并操作十分丝滑,但是需要注意的是gcp需要按照顺序进行,否则无尽的冲突就会向你袭来;

  2. 做好一个”渣男“
    如果你有一些修改暂时不准备提交,并且也不准备放弃。那么你可以临时把这些文件通过"stash"暂存起来,在执行完手头的操作之后,再从”备胎“堆栈中找到你刚才暂存的代码,重新进行编辑;

如何提一个 MR or PR

  1. gitlab 之 MR, github 之 PR
  2. release tag *
  3. ...

死亡操作:

  1. 从异常分支(例如:beta分支) checkout出来并开始开发,一个错误的开始很难走到每秒的结局。


    死亡分支操作
  2. -f / --force (慎用)
  3. 不提交代码直接移除 / 回滚;
  4. rebase & merge 混用导致git tree 混乱;
  5. ...

ANTI-死亡操作

不要害怕使用git,你的任何操作都会被记录下来(前提是你要记得add)。
  1. reflog
  2. checkout . / -- file
  3. reset --hard / --soft
  4. revert
  5. blame
  6. ...

CI & CD 解放你的双手 🙌

存储原理 (短时间之内都不会很重要的内容)

相关文章

  • 如何享受一个美好的git开发体验

    摘取之前写的新人文档留个纪念。 前置学习: 熟练使用 oh-my-zsh[https://github.com/o...

  • 享受踏实的美好体验

    就算时间已经过去数十年,时过境迁,他们仍然卡在古老的负面催眠里,重复着受害者的身份、信念、情绪和行为,创造同样的负...

  • Eclipse教程之如何使用Git提交项目

    一、前言 参照《Eclipse教程之Windows开发环境如何安装Git》和《Eclipse教程之如何配置Git》...

  • 享受慢时光的美好体验

    周六下午和恩安一起到风雅颂书店体验亲子制“皂”。一到书店,就看到小朋友和妈妈们热热闹闹地进行着,我们坐在一旁静静等...

  • 全栈---技能

    关键开发技能(硬实力): ===Git / GitHub 你必须掌握如何使用Git来管理和分享你的代码。把Git作...

  • git pull --rebase

    多人开发的时候,如何减少出现git merge的出现

  • 对于全栈工程师的要求

    (1)关键开发技能(硬实力) ·Git/GitHub——你必须掌握如何使用Git来管理和分享你的代码。把Git作为...

  • Git: The following paths are ign

    上篇讲了git忽略规则,以及如何加入忽略文件。git中多人开发,The following paths are i...

  • 团队项目的Git分支管理规范

    团队项目的Git分支管理规范 许多公司的开发团队都采用Git来做代码版本控制。如何有效地协同开发人员之间,以及开发...

  • git 操作常见场景

    本地新建一个项目,没有提交到git服务器,本地开发如何记录开发历史 git强大的功能之一就是不依赖于服务器也能在本...

网友评论

    本文标题:如何享受一个美好的git开发体验

    本文链接:https://www.haomeiwen.com/subject/qqcubltx.html