首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Git系列】利用 Bash 脚本获取 Git 最后一次非合并提交的提交人

在软件开发中,版本控制是一个不可或缺的部分。Git 作为目前最流行的版本控制系统之一,提供了强大的工具和命令来帮助开发者管理代码。在团队协作的项目中,了解代码提交的历史和贡献者是非常重要的。...脚本示例解析 下面是一个简单的 Bash 脚本示例,它演示了如何获取 Git 仓库中最后一次非合并提交的提交人,并将其存储在一个变量中,然后输出这个变量的值。 #!.../bin/bash # 定义一个变量来存储最后一次非合并提交的提交人 last_author=$(git log -1 --no-merges --pretty=format:'%an') # 输出这个变量...echo "The last non-merge commit author is: $last_author" 这个脚本首先定义了一个变量 last_author,它通过 git log 命令获取当前分支最后一次非合并提交的提交人名字...接着,脚本使用 echo 命令输出这个变量的值,告诉用户最后一次非合并提交的提交人是谁。

7900
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    git 提交文件中的部分修改

    概述 在 Git 提交一个文件的时候,有时候会在同一个文件中,包含两个不同功能的修改,或者一个功能完成了,而别的部分还没有完善不应该进入代码库,这时候如果使用git add file-name的话,会将这个文件中的所有更新都提交...针对这种场景,git 提供了更细粒度的提交命令git add -p,可以分部分提交一个文件中的更新代码块,实测能满足常见的需求。这里简要记录一下如何使用这个命令。 2....实现命令 2.1 原理解释 git 中用”hunk”来表示一个文件中邻近区域中的代码修改块,比如用git diff 查看修改时,两个@@符号分割的一个区域就是一个hunk,其中行首是-,颜色为红色的为删去的行...图片 需要注意的是,git有一套默认的将文件中所有修改分成不同hunk的机制,但我们也可以将默认机制分的太大的hunk分割为多个小的hunk,这样能更精确地控制提交的粒度。...界面如下: 图片 这里会自动载入第一个hunk,显示了修改的代码行,最底下一行显示了这是8个hunk里面的第一个,然后有一些选项让我们选择,这时候输入?

    37620

    Git第一次提交代码文件的操作

    Git第一次提交代码到远程仓库 第一步:git init 初始化项目文件夹 第二步:git add ....键所有文件添加到暂存区 第三步:git commit -m “first commit” 提交到本地仓库 第四步:git remote add origin 远程地址(git branch这个命令可以看到你所在的分支...,这个命令中的 -f 是强制推送,因为远程仓库只有初始化的文件,所以强制推送上去就行了,不加-f 会报当前分支没有远程分支,强制推送可以覆盖master,这样就完成了第一次提交的步骤 当已知远程仓库地址时..., 可以先git clone 远程地址 然后再把要提交的项目文件copy到clone的文件夹下 git add ....添加所有文件,如只提交部分文件需要单个git add 文件名 git commit -m "提交的备注" git push -u -f origin master

    4K10

    历史上最伟大的一次 Git 代码提交

    Linus 在提交了第一个 git commit 后,就向社区发布了 git 工具。...当时,社区中有位叫 Junio Hamano 的开发者觉得这个工具很有意思,便下载了代码,结果发现一共才 1244 行代码,这更令他惊奇,也引发了极大的兴趣。...Junio 在邮件列表与 Linus 交流并帮助增加了 merge 等功能,而后持续打磨 git,最后 Junio 完全接手了 Git 的维护工作,Linus 则回去继续维护 Linux Kernel...如果选历史上最伟大的一次 Git 代码提交,那一定是这 Git 工具项目本身的第一次代码提交。...这次代码提交无疑是开创性的,如果说 Linux 项目促成了开源软件的成功并改写了软件行业的格局,那么 Git 则是改变了全世界开发者的工作方式和写作方式。 如今,Git 已经成为全球软件开发者的标配。

    39810

    Git清理commit中历史提交的大文件

    文章时间:2019年11月10日 14:02:59 解决问题:清理Git中比较大的文件,主要针对历史记录进行清理 ps:因为Git可以恢复版本,所有历史提交过的较大的文件,也会被保存下来,所以我们需要...这里方法有两种,下面方法主要介绍了其中一种 查看目录下的文件的大小 git count-objects -v # 查看 git 相关文件占用的空间 du -sh .git # 查看 .git 文件夹占用磁盘空间...因为git的历史文件都是存在一个文件里的,我们使用下面命令可以找出排名前五的文件 git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3...记一次删除Git记录中的大文件的过程:https://www.hollischuang.com/archives/1708 方法二 工具化(自动机枪) 工具名称:BFG 工具地址:https://rtyley.github.io...-jar bfg.jar --delete-folders 我是文件夹的名字 hcses-warehouse.git --no-blob-protection 第四步 清理不需要的数据 在完成上面的指令后

    5.8K10

    别乱提交代码了,看下大厂 Git 提交规范是怎么做的!

    现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。...它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与SemVer相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。...任何git commit指令的option都能用在 git cz指令上, 例如git cz -a Commit message规范在rrd-fe落地使用情况 针对团队目前使用的情况,我们讨论后拟定了commit...的其余修改,例如构建过程或辅助工具的变动 当一次改动包括主要type与特殊type时,统一采用主要type。...如果一次commit修改多个模块,建议拆分成多次commit,以便更好追踪和维护。

    1K20

    别乱提交代码了,看下大厂 Git 提交规范是怎么做的

    现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。...它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与SemVer相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。...任何git commit指令的option都能用在 git cz指令上, 例如git cz -a Commit message规范在rrd-fe落地使用情况 针对团队目前使用的情况,我们讨论后拟定了commit...例如我们使用jira时,我们在commit message中可以填写其影响的JIRA_ID,若要开启该功能需要先打通jira与gitlab。...相应的git log ? 扩展阅读 conventional commits 必读 介绍约定式提交标准。

    1.9K20

    别乱提交代码了,看下大厂 Git 提交规范是怎么做的!

    现在市面上比较流行的方案是 约定式提交规范( ConventionalCommits),它受到了 Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。...它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与 SemVer相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。...任何 git commit指令的 option都能用在 git cz指令上, 例如 git cz-a Commit message规范在rrd-fe落地使用情况 针对团队目前使用的情况,我们讨论后拟定了...的其余修改,例如构建过程或辅助工具的变动 当一次改动包括 主要type与 特殊type时,统一采用 主要type。...相应的git log ? 最后惯例,欢迎大家star我们的人人贷大前端团队博客,所有的文章还会同步更新到知乎专栏 和 掘金账号,我们每周都会分享几篇高质量的大前端技术文章。

    4.1K30

    别乱提交代码了,看下大厂 Git 提交规范是怎么做的!

    现在市面上比较流行的方案是约定式提交规范(Conventional Commits),它受到了Angular提交准则的启发,并在很大程度上以其为依据。约定式提交规范是一种基于提交消息的轻量级约定。...它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与SemVer相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。...任何git commit指令的option都能用在 git cz指令上, 例如git cz -a Commit message规范在rrd-fe落地使用情况 针对团队目前使用的情况,我们讨论后拟定了commit...的其余修改,例如构建过程或辅助工具的变动 当一次改动包括主要type与特殊type时,统一采用主要type。...如果一次commit修改多个模块,建议拆分成多次commit,以便更好追踪和维护。

    1.2K20

    Git 修改提交历史中的邮箱和用户名

    内网提交需要校验企业邮箱,有时邮箱设置错误导致 commit 的邮箱有问题,此时可以通过修改已提交记录中的邮箱来修复,无需重新提交。...经过检索,发现两种方法,分别适用于修改一次和修改多次,引文在最后都有注明。...修改最近一次提交的邮箱# git commit --amend --author="NewAuthor " 批量修改邮箱# 以下脚本本人已使用多次,亲测没问题...使用该脚本,替换其中 [Your Old Email] [Your New Author Name] [Your New Email] 之后在 git 目录中执行即可。 #!...修改历史提交的用户名和邮箱 设置 Git 账户及邮箱 注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

    47420

    网站改版域名更换全步骤

    ① 在Ubuntu上使用,只需要先安装heroku,再将重定向项目克隆并上传到你的heroku应用中,最后配置所谓的“重定向路径”。...$ heroku login $ git clone https://github.com/joeyAghion/rerouter.git $ cd rerouter $ git init $ heroku...[20210220001541.png] ⑤ 还有,我们的301重定向需要全天可用,但heroku仅对付费者提供此项服务,因此最后选择了最便宜的类型,无需维护301太长时间,一两个月足以。...我在以下平台重新提交了XML文件, baidu统计 (+robot.txt) 360站长 谷歌console 主动通知网站改版 最后的步骤:去百度站长反映你要换域名了;去 Google Console...后记 百度的网站改版校验非常奇怪,谷歌测试无误后,在百度站长就是校验失败,已经致信客服寻求帮助。 不必在意改版后的收录情况,一两个星期看一次就够啦,毕竟是一个重新收录的过程!

    6.4K20

    git commit 新修改的内容 添加到上次提交中 减少提交的日志

    有时候提交过一次记录只有,又修改了一次,仅仅是改动一些较少的内容,可以使用git commit --amend....添加到上次提交过程中; --amend amend previous commit git commit --amend # 会通过 core.editor 指定的编辑器进行编辑...git commit --amend --no-edit # 不会进入编辑器,直接进行提交 如果你之前没有配置 core.editor 选项的时候,会出现: error: There was a...这个时候,你通过 git config 命令,配置全局变量,指定特定的编辑器就解决报错了;之后再进行git config --amend 命令来进行编辑; git config --global core.editor...更多关于linux和分布式系统相关的知识,请关注 cnblogs.com/xuyaowen

    50220

    IDEA中对Git的常规操作(合并,提交,新建分支,更新)

    工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 场景三:小袁修改了部分源码...,提交到远程仓库 场景四:小张从远程仓库获取小袁的提交 场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发 场景六:小袁把分支提交到远程Git仓库 场景七:小张获取小袁提交的分支 场景八:...Push命令把本地仓库的提交同步到远程仓库。 ? IDEA中对操作做了一定的简化,Commit和Push可以在一步中完成。 具体操作,在项目上点击右键,选择Git菜单 ? ? ?...因为是第一次提交,Push前需要指定远程仓库的地址。如下图,点击Define remote后,在弹出的窗口中输入远程仓库地址。 ?...更新后,再点击右下角,可以看到在Remote Branches区已经有了新的分支,点击后在弹出的子菜单中选择Checkout as new local branch,在本地仓库中创建该分支。

    4.9K31

    关于“Python”的核心知识点整理大全63

    无论出现什么问题(如实现新功能时不小心引入了bug),你都可以轻 松地恢复到最后一个可行的快照。每个快照都被称为提交。 使用Git意味着你在试着实现新功能时无需担心破坏项目。...安装Git Heroku Toolbelt包含Git,因此它应该已经安装到了你的系统中。...git --version git version 2.5.0 如果由于某种原因出现了错误消息,请参阅附录D中的Git安装说明。...提交项目 我们需要为“学习笔记”初始化一个Git仓库,将所有必要的文件都加入到这个仓库中,并 提交项目的初始状态,如下所示: 1 (ll_env)learning_log$ git init Initialized...在3处,我们执行了命令git commit -am commit message,其中的标志-a让Git在这个提交中包含 所有修改过的文件,而标志-m让Git记录一条日志消息。

    10810

    Git中忽略文件提交、取消文件追踪的方式(多中方式)

    背景 使用Git进行版本管理多人协作开发,常会遇到我们本地可能存在一套自己的配置或者某些测试文件不需要提交到远端的情况。因此需要使用Git的相关命令进行文件排除或解除追踪。...然后参照方式一进行操作即可 3.文件已经纳入了Git管理,想取消文件追踪,本地更改不提交(适用于文件比较分散或同种类型文件时) 取消追踪 # 关闭跟踪文件,修改不提交 git update-index...# 恢复跟踪文件,修改提交 git update-index --no-assume-unchanged /xxx/xxx.java # 恢复追踪某个目录下的某种类型文件 git update-index...--no-assume-unchanged /xxx/*.yml 当关闭追踪文件多了时,想找出来进行提交,可以使用如下命令: # 列出关闭追踪的文件 git ls-files -v | grep '^...| awk '{print $2}' |xargs git update-index --no-assume-unchanged 未经允许不得转载:肥猫博客 » Git中忽略文件提交、取消文件追踪的方式

    2.8K20

    BFG Repo-Cleaner - 快速清除Git提交历史中的特定文件

    BFG Repo-Cleaner(快速清除Git提交历史中的特定文件) 有些时候不小心上传了一些敏感文件(例如密码), 或者不想上传的文件(没及时或忘了加到.gitignore里的),而且上传的文件又特别大的时候...--expire=now --all && git gc --prune=now --aggressive 最后,一旦您对您的仓库的更新状态感到满意,请把它重新推回去 (请注意,因为您的clone命令使用了...你的当前文件是神圣的... BFG对待你就像一个改过自新的酒鬼:你过去犯过一些错误,但现在你已经改过自新了。因此,BFG假定您的最新提交是一个好的提交,其中没有您希望从历史记录中删除的脏文件。...如果某个坏的文件(比如10MB的文件,当您指定--strip-blobs-bigger-than 5M)在受保护的提交中,那么它不会被删除—它将保存在您的存储库中,即使BFG从以前的提交中删除了它。...请注意,尽管这些受保护的提交中的文件不会被更改,但是当这些提交从早期的脏提交继续进行时,它们的提交ids 将 更改,以反映更改的历史—只有文件系统树的SHA-1 id 将保持不变。 更快...

    3K40

    在IDEA中利用ignore插件忽略Git非必要提交的文件

    前言 在IEDA中,使用Maven建多工程编写代码时,常常会遇到提交代码到Git上,会把非工程相关的代码或配置文件提交GitLab仓库里,确实是一件麻烦的事情。 有没有解决办法呢?...其实IDEA早就为我们准备了:ignore插件。 ?...安装ignore插件 打开IDEA的settings菜单,在plugins插件中心搜索:ignore,并点击“install”按钮进行安装并重启IDEA ?...点击Generate按钮,会生成.gitignore文件,会自动填充Git所忽略的相关文件。 过滤.idea、*.iml文件 ? 过滤Maven生成的target目录等 ?...验证 从工程我们可以看到,不受Git版本控制的目录都变灰了 ? 再次提交代码时,就不会出现.iml等IDEA自动生成文件了。 ?

    2.8K10
    领券