让你提高工作效率的Git的技巧

作者 : 开心源码 本文共2380个字,预计阅读时间需要6分钟 发布时间: 2022-05-12 共63人阅读

Git是一个非常强大的版本控制系统,但是Git异于常规以文件为基础的VCS系统架构,以及基于纯命令行的功能涉及,使得初学者会难勘其妙,产生畏惧心里。而假如长期依赖于Git图形端的话,也难以真正了解Git的真正思维和功能。关于Git,虫虫已经发了很多文章,关注虫虫可以学习。今天虫虫就总结几个可以极大改善你工作效率的Git技巧,希望能够抛砖引玉,能对你Git学习和使用有肯定的帮助。

Git别名

Git有很多命令,第一难于记忆。第二就算记得或者者使用Git自动补全功能,但是敲打命令也比较吃力,影响效率。熟习Linux的同学都应该使用过Shell强大的别名功能,帮你记忆和减少敲打命令的痛苦。同样的该技巧也可以用到Git命令中来,可以对每天频繁使用的命令创立别名,来帮我们提高效率。

例如,下面我们对最长使用的命令checkout,commit和branch创立别名(ck,cm,bc,也可为其余你喜欢的字符):

git config –global alias.ck checkout

git config –global alias.cm commit

git config –global alias.bc branch

此后,你只要键入git ck master,代替 git checkout master。

除了,通过上面命令设置全局命令设置别名外,也支持通过直接修改客户配置文件~/.gitconfig文件来达到同样的效果:

[alias]

ck = checkout

cm = commit

bc = branch

暂储未提交的更改

我们说git版本设计时候极大地考虑到了保存你使用状态,设计了三个区域来区分不同阶段的变化,从变化由新到久顺序依次是客户工作区(working directory),暂存区(stage index)和历史记录区(history),在远程库以及和其余用户端交互协作都是commit后git对象(git文件数据库);

对应三个区域的,git中的文件有四种状态,未跟踪(Untracked),未修改,(Unmodified),已修改(Modified),已暂存 (Staged)。而最后通过commit进入历史记录区后,就没有文件了,都是git对象了,所以开头我们说了Git不是以文件为基础的。只是在用户端表现为文件(工作区和暂存区)。

对于已经commit的git对象,可以任意交换、追踪和撤回,那么对本地工作区和暂存区文件因为还没有commit无法通过git追踪和保存。git也考虑这种需求,那就是我们要详情第二个技巧stash功能,预计很多码农一直在用。试想我们正在持续开发中,写大了大量的功能,但是还没有做单元测试,还不宜于提交commit。这是来了个紧急bug需要立即解决。这时候就是stach大显伸手的时候了。

git stash

git stash会保存了目前文件变化状态,回归到上一个commit后的干净的工作目录。现在我们可以随便切换到bug分支来进行修复问题。

修复完成后,希望再次显示以前的工作状态,只要运行下面命令:

git stash pop

这样之前工作状态就恢复了。你可以保存多个stash工作状态,通过list显示其列表,也可以通过git stash drop如清理暂存的工作状态。

commit比照

比较commit或者同一文件版本之间差异的简单快捷方法是使用命令行。可以使用git diff命令。

假如要在不同commit(commit1和commitN)比照一个文件的变化,命令是:

git diff commit1..commitN — path/to/file

假如你想比较两次commit之间的差异:

git diff commit1..commitN

该命令将打开终端的diff视图,但假如你喜欢使用更直观的工具来比较差异,则可以使用git difftool。比方使用Meld编辑器。

首先配置difftoll配置,指向Meld:

git config –global diff.tool git-meld

文件比照差异:

git difftool commit1..commitN — path/to/file

和总体差异

git difftool commit1..commitN

Reset重置文件

有时候,你修改了文件后,发现修改的多余了,想反悔,在git中反悔很容易你只要要reset就可。可以将所有文件重置为分支的HEAD,不需要在编辑的内容上单击撤销:

git reset –hard HEAD

或者者,撤销单个文件文件,可以用:

git checkout HEAD — path/to/file

假如已经提commit了变化,但仍希望复原,可以使用:

git reset –soft HEAD~1

使用Git blame提高效率

Git blame是个非常有用工具,可是很多人还没有用到,那就开始使用把。blame操作,可以帮我们追踪,某个文件中所有内容的变化历史。blame有很多有用的参数可以提高我们查询的效率:

git blame -w #忽略空格

git blame -M #忽略挪移了的内容

git blame -C #忽略挪移到其余文件中的内容

上面是少量git功能的使用技巧,虫虫在详情几个git工作流程方面的技巧,可供参考。

随用随pull

在Git工作流中,根据功能实现的时间长短,可能会对主分支进行了大量变化。为了避免发生较大的冲突,建议经常从主分支pull变化,这样可以减少因为变化过大导致合并困难。

经常push,但不要每个commit都push

根据需要,通常会提交更改,使得变化历史更简洁,使其更容易复原。但是不建议并且没必要将每个提交push到远程仓,由于每一次push都会出现在action中,并且可能会向其余人发送邮件通知。协调好你的commit和push是个成熟码农应该具备的技能。一般建议按照做完一个完整(单元测试通过)功能点来push你的变化。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 让你提高工作效率的Git的技巧

发表回复