编程语言的Git有哪些技巧?

    作者:课课家教育更新于: 2019-09-10 10:33:18

    大神带你学编程,欢迎选课

    10种Git技巧,让你省时省力又省心!java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。

    这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。

    1. 从另一分支切换单个文件

    大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改?而git指令可以实现从另一分支切换文件。

    1. git checkout some-other-branch -- yarn.lock 

    同时,也可以使用相同的技巧从特定提交项切换出某个文件。

    1. git checkout 9146367 -- yarn.lock 

    编程语言的Git有哪些技巧_编程语言_Java_Javascript_课课家

    若cherry-pick能够筛选出不需要的文件,那么这就是十分有效的技巧了。

    2. 查看日志时无需合并提交

    合并提交常常令人头疼。事实上,有些人宁可不用合并指令,因为合并提交真是太讨厌了。

    就个人而言,笔者认为合并指令是项目历史记录的重要组成部分,不应该在工作流中唯恐避之不及。

    也就是说,可以使用此标记来过滤合并提交以查看项目的历史记录。

    1. git log --oneline --no-merges 

    3. 改写上一个提交信息

    若不小心提交了带有拼写错误或误导性提交信息的内容时,这个方法就派上用场了。

    1. git commit -v --amend 

    -v是可选项,但由于其展示了许多更改相关的信息,笔者还是比较喜欢这个的,,有助于编写更具描述性的提交消息。

    4. 移除所有未跟踪更改

    尽管不言而喻,但以防有人对该概念不熟悉:

    如果创建一个新的文件,且该文件在git历史中并不存在,那么就相当于进行了一个未跟踪更改。需要提交回购协议才能开始追踪该文件。

    如果提交过程中改变了主意,随后又想撤销先前的更改,此时,git checkout可用于移除先前所有的追踪更改,但是未跟踪更改却仍然会四处浮动。为解决这个问题, git clean应运而生。

    1. git clean -f –d 

    5. 输出酷炫的可视化日志

    虽然这点只会让日志看起来很酷,但就可视化所有长期分支而言,这点还是十分有用的。

    1. git log --pretty=oneline --graph --decorate --all 

    试试吧。

    6. 向git请求一个变更日志

    如果想知道更改内容和更改者的相关简要说明,可以向git申请变更日志类似的文件。

    1. git shortlog <commit>..HEAD 

    本例中,应将替换为希望在日志开始时执行的提交。大体上,用git shortlog eafbc3c.. HEAD的意思是,“让我看看从提交eafbc3c到现在发生了什么变化。”

    按提交作者将短日志分组并显示每个提交消息的首行内容。若提交消息编写完善,则可很清楚地了解每个提交的实际操作。

    利用一些巧妙的技巧,如git shortlog HEAD~20..,以此来获取最近20次提交的短日志。

    7. 查看特定日期范围的日志

    类似地,可能需要查看两天内回购的变化情况。

    幸运的是,git可以实现这点。git log提交接受——以-since和-until作为标记。

    所以若想知道2016年2月10日至2016年2月19日期间Solidus发生了什么,即可运行:

    1. git log --since='FEB 10 2016' --until='FEB 19 2016' 

    现在,就可以看到墨菲在二月中旬非常活跃。

    8. 列出所有git别名

    有时可能需要为一些指令添加别名,随后就忘记了,或者使用的共享配置就已经定义了一些别名。

    这是笔者无意中发现的一个技巧,尽管这不是git独有的特性,但是git config指令确实发挥着它的功效,为我们所利用。

    1. git config -l | grep alias | sed 's/^alias\\.//g' 

    试试吧,看是不是有忘记的别名!

    9. 搜索包含关键字的提交

    如果确切地知道要查找的是哪段代码,或者确切地知道需要在哪些关键字上查找更改,则可以按代码搜索日志。

    此时git会提供一个提交列表,而该列表以某种方式影响了包含搜索字符串的代码或文本。

    1. git log -S"config.menu_items" 

    在本例中,笔者找到一个提交列表,而该提交列表以某种方式操纵了字符串config.menu_items。

    10. git教程超级机密列表

    不是秘密,而是超级机密:

    1. git help -g 

    Git是一个十分强大的工具,充满许多巧妙的技巧。这个列表不够全面,所以大家可多做一些研究并阅读git相关文档。

    Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。java程序是用类来组织的。

课课家教育

未登录