觉得在工程师的职涯中,还有一个一定会遇到的,就是GIT~
如果要以GIT为主题,应该是可以再参加一次铁人30天了吧XD
不过,因为我们这次的主题就是前端工程师的各种会遇到的疑难杂症集合,
所以今天我们就介绍一些,我觉得我自己觉得在工程师生涯中,
大概是Level1会用到的基础GIT指令懒人包,这些应该就可以应付大部分不会太难的情况了吧XD
身为一个工程师,这个应该是睡要的时候(?)都可以念出来的GIT指令吧XD
GIT的档案状态会有三种:
git add 档案名称/*
将已修改的档案,加入以暂存的状态,让云端GIT知道有这些档案需要更新
git commit -m '修改内容备注'
将暂存的档案加注说明,用来记录这次改了什麽
git push
将已暂存的档案更新至云端GIT变成已提交
好了简单的暖身结束了,我们来点会用到GIT的各种情境:
当开发好另外一个branch要merge回去,通常用在新功能的开发branch开发完成後要并回去;或是有需要hotfix的时候在branch修完後要并回其他branch
git checkout branch名称
ex. git checkout master
git merge 被merge的branch名称
ex. git merge newFeature
当你修改好某个BUG,打包好整包程序之後,这时候客户方的IT通常会跟你说NONONO不要给我整包程序,给我差异档就好了~ 差异档是什麽呢?顾名思义就是跟上次有差异的档案,意思就是这次才有改动的档案。那要怎麽样简单取得差异档案呢?来,上指令~~
git archive --format=zip --output=档案名称.zip HEAD $(git diff-tree -r --name-only --diff-filter=ACMRT commit新 commit旧)
档案状态:
git archive --format zip -o 档案名称.zip HEAD
打包最新整包程序为档案名称.zip
git diff-tree --no-commit-id --name-only -r commit新 commit旧
看新旧commit之间的差异档案有哪些
git diff-tree -r commit新 commit旧 (显示commit)
git diff-tree --name-only -r commit新 commit旧 (只显示名称)
因此组合起来 打包 + 差异档案 如下
commit旧 到 commit新 之间的差异档案
git archive --format=zip --output=档案名称.zip HEAD $(git diff-tree -r --name-only --diff-filter=ACMRT commit新 commit旧)
最新的和上一次commit的差异档案
git archive --format=zip --output=档案名称.zip HEAD $(git diff-tree -r --name-only --diff-filter=ACMRT HEAD)
注意!!!!!!!
git-diff 这个差异档案,会从目前本地端的档案复制到打包的档案中,不是从commit当时的档案状态复制喔!因此,要特别注意目前本地端端的档案是不是你要复制的档案
之前一直不知道会遇到这种情况,直到某次把程序上到别人家环境,对方问说,你们自己没有备份一份GIT吗?想想才觉得的确也该自己的环境也放一包code才对,难保人家的环境都不会出事。因此,就有了同一包code要上到两边remote的状况。
git remote -v
看remote的git有哪些
git remote add remote名称
需要新增remote
之後就可以选择要在哪一个remote更新程序
ex. git push origin master -> 更新远端origin的master branch
ex. git push dev master -> 更新远端dev的master branch
GIT真的是一个在撰写程序和大家写程序时,一定都会用到的技能,
很多基本的方法,如果知道的话,真的可以在协作上或程序控管上让你感受到很大的便利性,今天讲的只是很少很少的部分,是我自己算是蛮常用到的三种情境,和大家分享
很多人也会用source tree、小乌龟都是很方便的git工具。不过我自己也蛮喜欢直接用vscode内建的GIT功能搭配指令,直接在开发时在terminal打指令就可以做完所有事,觉得也是蛮方便的,虽然已经有很多工具可以辅助使用,不过多少还是可以认识一下GIT指令也是不错的喔!
<<: 卡夫卡的藏书阁【Book29】- Kafka - MirroMaker 2
>>: Angular 深入浅出三十天:表单与测试 Day28 - 自订表单元件
昨天还少讲了一个最最最常用到的 x-model。如同他的样子,跟 v-model、wire:mode...
既然要写测试,就先来了解前端常见的几种测试类型,从最大家最常听到的单元测试(Unit Testing...
终於进入小车实作啦~~~~上个连假笔者本来就要来写的,结果拖到这个连假才有空来玩车车XD 首先介绍笔...
马可夫模型 (Markov Model) 会用来表达状态以及转移机率及它们的随机过程使用的模型,或许...
什麽是 Periodic Background Sync API 透过在 service worke...