您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    Git 12岁了,为你送上12个Git 的运用技巧!
    时间:2018-04-15 21:19 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    技术沙龙 | 4月21日多位区块链专家停止区块链技术运用场景解读!

    运用这12个Git的窍门与技巧来令你的版本控制阅历愈加有用。

    Git 12岁了,为你送上12个Git 的运用技巧!

    Git,一个散布式版本控制系统,它曾经成为了开源世界的源码控制默许工具,在4月7号12岁了。但是运用Git中更另人懊丧的是,你需求了解多少才能让你更有效的运用它。同时这也是运用Git中比较美妙的一件事,由于没有什么比发现一个新的小技巧来简化或提高你的任务流的效率愈加令人快乐了。

    为了纪念Git的12岁生日,这篇文章提供12个窍门与技巧来让你的Git阅历愈加有用和弱小,从一些你能够会无视的基础末尾到一些真正的弱小技巧!

    1、你的 ~/.gitconfig 文件

    在第一次用git命令来提交一个仓库的修正,你能够会首先看到像下面这种内容:

    *** Please tell me who you are. 

    Run 

      git config --global user.email "you@example.com" 

      git config --global user.name "Your Name" 

    to set your account's default identity. 

    你能够还没无看法到那些命令正在修正~/.gitconfig文件的内容,这个文件就是Git存储全局配置选项的文件。经过你的~/.gitconfig文件你可要做很多事情,包括定义别名,永世的翻开(或封锁)一些特定的命令选项,还可以修正Git如何任务的方面(例如:git diff运用哪个diff算法,或许默许运用什么类型的的兼并策略)。你甚至可以按条件地基于途径包含其他配置文件到一个仓库!运用“man git-config”查看一切细节。

    2. 你的仓库的.gitconfig文件

    在之前的技巧中,你能够会想知道在git config 命令中的—global标识是做什么的。它通知Git更新“global”配置,也就是~/.gitconfig发现的这个配置。当然,拥有一个全局的配置代表了一个本地配置,而且足够一定的是,假设你省略—global选项,git config 会更新这个仓库本人的配置,这个配置文件存储在.git/config。

    在.git/config中设置的选项会推翻在~/.gitconfig文件中的对应设置。因此,例如,假设你需求在一个特定的仓库中运用一个不同的邮箱地址,你可以运转“git config user.email "also_you@example.com"”。然后,你在这个仓库中提交会运用你独自配置的这个邮箱地址。假设你运用一个任务的电脑在开源项目中任务,但是希望在这个项目中运用团体的邮箱地址,而其他在主Git配置中依然运用任务邮箱,这一点是十分有用的。

    在~/.gitconfig中可以设置的任何东西,都可以在.git/config中设置来对这个仓库做特定设置。在下面的这些技巧中,当我提到在你的~/.gitconfig文件中添加什么东西,同时也阐明可以在特定的仓库的.git/config中添加来设置那个选项。

    3、别名

    别名是你可以在你的~/.gitconfig文件里做的另外一件事。他的任务原理就像shell命令行里的别名——设置一个新的命令称号来调用一个或许多个其他的命令,这些命令通常包括一些特定的选项或标识。别名关于你常常运用的那些又长又复杂的命令行是十分有效的。

    你可以运用git config命令来定义别名——例如,执行”git config —global —add alias.st status”命令后,会使得执行git st与执行git status做的是异样的事情——但是,我发现当定义别名的时分,只需求直接在~/.gitconfig文件里编辑通常会愈加容易。

    假设你选择这么做,你会发现~/.gitconfig文件就是一个INI文件,INI是一种带有特定段落的基础键值对文件格式。添加一一般名时,你将改动[alias]段落。例如:下面提到的定义相反的git st别名,需求添加下面这段代码:

    [alias]  

    st = status 

    (假设曾经有了[alias]这个段落,只需求在这个段落中添加到第二行)

    4. shell命令中的别名

    别名不只仅是运转其他Git子命令——你也可以定义别名,这些别名可以运转其他shell命令。这是一个很好的办法来处置一个重复的、稀有的、复杂的义务:一旦你曾经想到第一次怎样做,那就运用一一般名保存这个命令。例如,我有几个仓库是我fork了一个开源项目,而且在本地做了一些修正,这些修正不用贡献给这个项目。在项目的继续的开发的进程中我想保持最新的版本,同时保留我的本地修正。为了完成这个想法,我需求活期地从upstream仓库中兼并这些修正到我的fork——我定义一一般名“upstream-merge”来完成这个操作。定义如下:

    upstream-merge = !"git fetch origin -v && git fetch upstream -v && git merge upstream/master && git push" 

    别名定义末尾的这个“!”是通知Git来经过shell运转这个命令。这个例子包括了运转一些git命令,但是运用这种方式定义别名可以运转任何shell命令。

    (留意:假设你想复制我的upstream-merge别名,你将需求确认你有一个Git remote命名为upstream来指定这个你fork的upstream仓库。你可以经过“git remote add upstream ”来添加一个。)

    5. 可视化提交图

    假设你从事的是一个有很多分支活动的项目,有时能够很难掌握一切正在发作的任务以及它们之间的相关性。各种GUI工具可让你弄清楚不同分支的概略以及在所谓的“提交图”中提交记载。例如,以下是我运用GitLab提交图查看器停止可视化的一个存储卡的部分截图:

    Git 12岁了,为你送上12个Git 的运用技巧!

    John Anderson, CC BY

    (责任编辑:admin)