Git提交日志修改方法实例汇总_Linux

来源:脚本之家  责任编辑:小易  

1、首先,我们可以2113用“git log”查看本地提交,本5261文中对4102最近的两次提交进行修改。16532、我们可以利用”git rebase -i HEAD^^“命令修改最近的两次提交。当然,命令”git rebase -i“的最后一个参数视具体情况而定,如修改最近的三次提交,则应该改为HEAD^^^,此参数也可以用commid ID值代替。3、进入编辑状态。我们将需要修改的提交前对应的"Pick"命令改为"edit"命令(简写为"e"),保存退出,便可以修改相应提交的内容了。4、对需要修改的地方进行修改。然后保存退出。5、需要注意的是,我们保存的文件必须通过”git add“命令进行添加。然后利用”git rebase --continue“命令继续。6、修改commit时的log信息并保存退出。7、继续对第二次提交进行修改。由于第二次提交和第一次提交有冲突,我们必须编辑冲突文件并解决冲突。然后保存退出。8、然后通过”git add“命令和”git rebase --continue“命令继续。修改第二次提交的log信息,保存退出。9、最后,就可以看到保存成功的信息了。10、如果我们在执行”git rebase“命令时,需要退出,则可以运行”git rebase --abort“命令,退出rebase过程,1、首先,2113我们可以用“git log”查看本地5261提交4102,本文中对最近的两次提交进行修改1653。2、我们可以利用”git rebase -i HEAD^^“命令修改最近的两次提交。当然,命令”git rebase -i“的最后一个参数视具体情况而定,如修改最近的三次提交,则应该改为HEAD^^^,此参数也可以用commid ID值代替。3、进入编辑状态。我们将需要修改的提交前对应的"Pick"命令改为"edit"命令(简写为"e"),保存退出,便可以修改相应提交的内容了。4、对需要修改的地方进行修改。然后保存退出。5、需要注意的是,我们保存的文件必须通过”git add“命令进行添加。然后利用”git rebase --continue“命令继续。6、修改commit时的log信息并保存退出。7、继续对第二次提交进行修改。由于第二次提交和第一次提交有冲突,我们必须编辑冲突文件并解决冲突。然后保存退出。8、然后通过”git add“命令和”git rebase --continue“命令继续。修改第二次提交的log信息,保存退出。9、最后,就可以看到保存成功的信息了。10、如果我们在执行”git rebase“命令时,需要退出,则可以运行”git rebase --abort“命令,退出rebase过程。本回答被提问者采纳www.zgxue.com防采集请勿采集本网。

情况一:最后一次提交且未push

如果已经merge,那没办法了,你可以在这笔的基础上再提交一笔,或者,revert掉这笔提交,从新cherry-pick 在git commit --amend.

执行以下命令:

如果是用的 github或者 osc 这样的在线git服务器,你可以直接 fork,如果不是,你就以从一个服务器先 clone 一个库,然后push到另一个服务器 git clone gitURL-

git commit --amend

工具/原料 Git Linux 方法/步骤 首先,我们可以用“git log”查看本地提交,本文中对最近的两次提交进行修改。 2 我们可以利用”git rebase -i HEAD^^“命令

git会打开$EDITOR编辑器,它会加载这次提交的日志,这样我们就可以在上面编辑,编辑后保存即完成此次的修改。

使用#cd命令 到 config文件所在目录 使用#vi命令打开文件(或者其他编辑器) 点击i字母进入编辑模式,esc键退出编辑模式 shift+:,输入wq,enter,保存退出

情况二:最后一次提交且已push到服务器

git diff HEAD HEAD^ --stat HEAD和HEAD^可以换成两次提交的版本号

执行以下命令:

如果是用的 github或者 osc 这样的在线git服务器,你可以直接 fork,如果不是,你就以从一个服务器先 clone 一个库,然后push到另一个服务器 git clone gitURL-

git commit --amend

工具/原料 Git Linux 方法/步骤 首先,我们可以用“git log”查看本地提交,本文中对最近的两次提交进行修改。 2 我们可以利用”git rebase -i HEAD^^“命令

git push origin master --force

和情况一的做法一样。使用push推送到远程服务器是需要加上--force,让服务器更新历史记录。

需要注意的是:把修改后的日志强制push到Git服务器,如果别人本地的副本有修改,很有可能会导致他们同步不了,所以最好和他们核对下。

情况三:旧的提交且未推送

假设commit是倒数第3次提交,这个可以使用git log查看,

$ git log

commit b1b451d218cc23b6c769f373164f2b89cf54d0aa

Author: clcaza <clcaza@sina.cn>

Date: Sat Mar 10 19:09:08 2018 +0800

添加内容d

commit 04f0d1809d5d31cc6e930efcba47a5f3f7e93319

Author: clcaza <clcaza@sina.cn>

Date: Sat Mar 10 19:08:24 2018 +0800

添加内容c

commit 94fc8feb916442d56b558d5c370f18f057298921

Author: clcaza <clcaza@sina.cn>

Date: Sat Mar 10 19:07:08 2018 +0800

添加内容a

commit fd517efa9faf6a5ec71d0eac38fbcfa0cd689f40

Author: clcaza <clcaza@sina.cn>

Date: Sat Mar 10 19:06:21 2018 +0800

init

执行rebase

git rebase -i HEAD~3

它会打开一个编辑器,它会把最后前3次的提交显示出来,类似于:

pick 94fc8fe 添加内容a

pick 04f0d18 添加内容c

pick b1b451d 添加内容d

你会看到,它是按提交的顺序显示的,与git log显示的顺序相反。定位到你要编辑日志的那一行,把pick修改为edit,然后保存。

接着就是修改日志内容了

git commit --amend

工具/原料 Git Linux 方法/步骤 首先,我们可以用“git log”查看本地提交,本文中对最近的两次提交进行修改。 2 我们可以利用”git rebase -i HEAD^^“命令

完成编辑日志后,记得执行:

git rebase --continue

Rebase目的是打开提交的历史记录,让您选择要修改的内容。 Git会让你在一个新的分支修改内容。 git rebase --continue则是让你重新回到之前的分支。

情况四:旧的提交且已push到服务器

前面编辑日志的操作是和情况三是一样的:

git rebase -i HEAD~X

git commit --amend

git rebase --continue

X表示倒数第几次提交。

完成编辑日志后,执行push:

git push origin master --force

在Git问世之前,分布式2113版本控制从来都不是一件5261简单4102的事。Git是一个自由开源的软件,旨1653在轻松且快速地对从小规模到非常巨大的项目进行管理。Git最开始由LinusTorvalds开发,他同时也是著名的Linux内核的创建者。在Git和分布式版本控制系统领域中,GitLab是一个极棒的新产品。它是一个基于Web的Git仓库管理应用,包含代码审查、Wiki、问题跟踪等诸多功能。使用GitLab可以很方便、快速地创建、审查、部署及托管代码。尽管它在其官方的服务器提供了与Github类似的免费托管的代码仓库,但它也可以运行在我们自己的服务器上。GitLab有两个不同的版本:社区版CommunityEdition和企业版EnterpriseEdition。社区版本完全免费且开源,遵循MIT协议;而企业版则遵循一个专有的协议,包含一些社区版中没有的功能。下面介绍的是有关如何在我们自己的运行着Ubuntu、Fedora或Debian操作系统的机器上安装GitLab社区版的简单步骤。1.安装先决条件首先,我们需要安装GitLab所依赖的软件包。我们将安装curl,用以下载我们所需的文件;安装openssh-server,以此来通过ssh协议登录到我们的机器上;安装ca-certificates,用它来添加CA认证;以及postfix,把它作为一个MTA(MailTransferAgent,邮件传输代理)。注:若要安装GitLab社区版,我们需要一个至少包含2GB内存和2核CPU的linux机器。在Ubuntu14.04/Debian8.x中鉴于这些依赖包都可以在Ubuntu14.04和Debian8.x的官方软件仓库中获取到,我们只需通过使用apt-get包管理器来安装它们。为此,我们需要在一个终端或控制台中执行下面的命令:#apt-getinstallcurlopenssh-serverca-certificatespostfixinstalldependenciesgitlabubuntudebian在Fedora22中在Fedora22中,由于yum已经被弃用了,默认的包管理器是dnf。为了安装上面那些需要的软件包,我们只需运行下面的dnf命令:#dnfinstallcurlopenssh-serverpostfixinstalldependenciesgitlabfedora2.打开并开启服务现在,我们将使用我们默认的初始化系统来打开sshd和postfix服务。并且我们将使得它们在每次系统启动时被自动开启。在Ubuntu14.04中由于在Ubuntu14.04中安装的是SysVinit初始化系统,我们将使用service命令来开启sshd和postfix守护进程:#servicesshdstart#servicepostfixstart现在,为了使得它们在每次开机启动时被自动开启,我们需要运行下面的update-rc.d命令:#update-rc.dsshdenable#update-rc.dpostfixenable在Fedora22/Debian8.x中鉴于Fedora22和Debian8.x已经用Systemd代替了SysVinit来作为默认的初始化系统,我们只需运行下面的命令来开启sshd和postfix服务:#systemctlstartsshdpostfix现在,为了使得它们在每次开机启动时可以自动运行,我们需要运行下面的systemctl命令:#systemctlenablesshdpostfixCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/sshd.serviceto/usr/lib/systemd/system/sshd.service.Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/postfix.serviceto/usr/lib/systemd/system/postfix.service.3.下载GitLab现在,我们将使用curl从官方的GitLab社区版仓库下载二进制安装文件。首先,为了得到所需文件的下载链接,我们需要浏览到该软件仓库的页面。为此,我们需要在运行着相应操作系统的Linux机器上运行下面的命令。在Ubuntu14.04中由于Ubuntu和Debian使用相同的debian格式的安装包,我们需要在/的格式。在我们成功指向该网址后,我们将会看到下面的页面。现在,为了登录进面板,我们需要点击登录按钮,它将询问我们的用户名和密码。然后,我们将输入默认的用户名和密码,即root和5iveL!fe。在登录进控制面板后,我们将被强制要求为我们的GitLabroot用户输入新的密码。8.创建仓库在我们成功地更改密码并登录到我们的控制面板之后,现在,我们将为我们的新项目创建一个新的仓库。为此,我们需要来到项目栏,然后点击“新项目”绿色按钮。CreatingNewProjects接着,我们将被询问给我们的项目输入所需的信息和设定,正如下面展示的那样。我们甚至可以从其他的Git仓库提供商和仓库中导入我们的项目。CreatingNewProject做完这些后,我们将能够使用任何包含基本Git命令行的Git客户端来访问我们的Git仓库。我们可以看到在仓库中进行的任何活动,例如创建一个里程碑,管理问题,合并请求,管理成员,便签,Wiki等。总结GitLab是一个用来管理Git仓库的很棒的开源Web应用。它有着漂亮的带有诸多酷炫功能的响应式界面。它还打包有许多酷炫功能,例如管理群组,分发密钥,持续集成,查看日志,广播消息,钩子,系统OAuth应用,模板等。(注:OAuth是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。---摘自维基百科上的OAuth词条)它还可以和大量的工具进行交互如Slack,Hipchat,LDAP,JIRA,Jenkins,有很多类型的钩子和完整的API。它至少需要2GB的内存和2核CPU来流畅运行,支持多达500个用户,但它也可以被扩展到多个工作服务器上内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • linux下的crontab定时执行任务命令详解
  • linux下遇到pycurl的错误解决方法
  • linux输入yum后提示: -bash: /usr/bin/yum: no such file or di
  • 详解centos设置静态ip的方法
  • linux定时任务的一些相关操作汇总
  • apache使用日志分割模块rotatelogs分割日志详解
  • centos 6.4系统下编译安装lnmp和配置php环境具体步骤
  • linux远程登录实现教程解析
  • 详细部署阿里云服务器全过程(图文教程)
  • 详解linux系统调用原理
  • gitlab修改的日志 author怎么更改
  • 怎么修改git提交过的内容
  • 如何在linux下修改实例名
  • 如何修改git已经提交的信息及合并多次提交
  • 怎么修改git历史提交的代码
  • git提交日志应该怎么写
  • git 提交 作者 可以修改吗
  • linux 下怎么修改git config配置文件
  • git 如何查看两次提交之间有哪些文件有修改呢?
  • git 如何提交多个修改的文件,必须要一个一个add吗
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器git log根据特定条件查询日志并统计修改的代码行数python实现一个git日志统计分析的小工具使用python分析git log日志示例解决idea2020.1 用gitee push推送被拒绝的原因(亲测有效)ubuntu20.04安装配置gitlab的方法步骤详解git使用小结(本地分支与远程分支、git命令)解决idea 拉取代码出现的 “ сannot run git cannot identify version of git executable: no response“的问题linux下的crontab定时执行任务命令详解linux下遇到pycurl的错误解决方法linux输入yum后提示: -bash: /usr/bin/yum: no such file or di详解centos设置静态ip的方法linux定时任务的一些相关操作汇总apache使用日志分割模块rotatelogs分割日志详解centos 6.4系统下编译安装lnmp和配置php环境具体步骤linux远程登录实现教程解析详细部署阿里云服务器全过程(图文教程)详解linux系统调用原理apache开启.htaccess及.htaccessservice temporarily unavailabllinux下实现免密码登录(超详细)apache rewrite url重定向功能的linux下用cron定时执行任务的方法apache性能测试工具ab使用详解centos 6.4安装配置lamp服务器(a阿里云服务器ping不通解决办法(centos+nginx+php+mysql详细配置apache you don""t have permiss如何使用​win10内置的linux系统启动关于linux安装mysql默认配置文件位置详解centos7 lnmp+phpmyadmin环境搭建 第三篇linux允许端口远程访问开放端口的方法centos6.8单用户模式如何修改密码apache伪静态与iis伪静态规则与配置区别介linux中快速列出文件列表的多种方法总结apache上传文件500错误的解决方法linux查看pcie版本及速率的方法解决linux程序编译链接动态库版本的相关问
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved