首页 > 其他分享 >Git 常用命令

Git 常用命令

时间:2024-06-06 15:57:15浏览次数:22  
标签:HEAD git ------- 修改 init Git 常用命令 commit

Git 常用命令

修改 commit 中的信息

1. 只修改本地最近一次 commit

例如,刚刚在本地进行了一次提交 git commit -m "init" 后觉得commit信息太简短了,或者写错了等情况想要修改这次commit信息时,使用:

git commit --amend

这个命令会进入一个vi编辑界面,完成更改后会用一个新的提交顶替之前最新的提交


# 1. 在本地进行一次提交,commit信息是 “init”
git commit -m "init"

# 2. 查看提交记录
git log

-------
commit 04e8037b01a23984389627eea28c3ee87885aaef (HEAD -> master)
Author: xxx <[email protected]>
Date:   Thu Jun 6 14:05:18 2024 +0800

    init

-------

# 3.修改提交记录
git commit --amend

-------
[master 57db279] 我把init信息修改了
 Date: Thu Jun 6 14:05:18 2024 +0800
 4 files changed, 102 insertions(+)
 create mode 100644 xxxx
 create mode 100644 xxxx
 create mode 100644 xxxx
 create mode 100644 xxxx
-------

# 4.再查看提交记录
git log

-------
commit 57db279f5d85d87b35f19b0c64bea3d06cc231bd (HEAD -> master)
Author: xxx <xxx.com>
Date:   Thu Jun 6 14:05:18 2024 +0800

    我把init信息修改了

-------

#
$ git reflog

-------
57db279 (HEAD -> master) HEAD@{0}: commit (amend): 我把init信息修改了
04e8037 HEAD@{1}: commit (initial): init
-------

2. 修改远程 commit

例如,如果这次提交已经推送到远程仓库了,我们发现 commit 信息写错了等情况需要更改时,这通常是不推荐的,因为这会改变已经公开的 commit 历史,可能会导致与其他开发者的冲突。但是,如果你确定要这样做,你可以使用 git rebase 命令结合 --interactive 选项(通常简写为 -i)来编辑 commit 历史。使用:

git rebase -i HEAD~n

其中 n 是你想要修改的 commit 的数量。然后,Git 会打开一个文本编辑器,列出最近的 n 个 commit。你可以修改每个 commit 的操作(pick, reword, edit, squash 等),对于你想要修改 commit 信息的 commit,选择 reword。保存并关闭编辑器后,Git 会为每个标记为 reword 的 commit 打开一个文本编辑器,让你修改 commit 信息。

注意:在重写 commit 历史后,你需要使用 git push --force 来推送你的更改到远程仓库。这将会覆盖远程仓库上的历史,所以请确保你知道你在做什么,并且已经与其他开发者协调好了。

合并 commit

很多情况下我们需要合并 commit,例如第一次 commit 后,发现有处代码忘记更改了,于是更改后又需要 commit 一次

1. 使用 git rebase -i

git rebase -i HEAD~n

其中 n 是你想要合并的 commit 的数量

git rebase -i 的操作都是类似的, 首先会打开一个vi编辑器,然后修改 commit 操作, 合并 commit 需要选择 squash, 将 pick 改为 squash 或者 s 保存并关闭后,git会继续打开一个vi编辑器让你修改 commit 的内容

2. 使用git reset和git commit

3. 使用git merge --squash

标签:HEAD,git,-------,修改,init,Git,常用命令,commit
From: https://www.cnblogs.com/dibtp/p/18235274

相关文章

  • 【git】resert、revert代码丢失解决方案
    技术博客:GitReflog与多场景下的版本恢复策略实战指南在软件开发的旅途中,Git作为版本控制的守护者,为开发者们提供了强大的历史记录追溯能力。今天,我们将通过具体实例,深入探索如何运用Git的reflog命令找回丢失的代码,并通过对比gitrevert与gitreset在不同情境下的应用,为你......
  • Github Fork仓库的冲突与同步管理
    在使用Github进行协作开发时,fork一个仓库并在本地进行开发是常见的工作流程。然而,当源仓库(上游仓库)有了更新时,如何同步这些更新并解决可能的合并冲突是一个关键问题。本文将详细介绍如何管理这些操作。步骤一:Fork并克隆仓库首先,fork你感兴趣的源仓库,并将其克隆到本地:gitclon......
  • GitHub 常用操作与常用命令——GitHub入门,看这一文就够了
    文章目录GitHub常用操作in关键词限制搜索范围:stars或fork数量关键词查找:awesome加强搜索:高亮显示某一行的代码:项目内搜索:显示快捷键:Git常用命令初始化命令查看当前git配置信息:设置提交代码时的用户信息在当前目录新建一个Git代码库下载一个项目和它的整个代码版本与......
  • Mysql 常用命令 详细大全【分步详解】
    1、启动和停止MySQL服务//暂停服务默认80netstopmysql80//启动服务netstartmysql80//任意地方启动mysql客户端的连接mysql-uroot-p2、输入密码 3、数据库4、DDL(DataDefinitionLanguage)数据定义语言,用来定义数据库对象(数据库,表,字段)1......
  • gitlab CI实践
    1.概念每个工程里可编写.gitlab-ci.yml, 对应一个流水线(pipeline),流水线分不同阶段(stage),每个阶段包含不同作业(job)每个作业有产物(artifacts)默认情况下,后期阶段的作业会自动下载早期阶段作业创建的所有产物。可以使用 dependencies控制作业中的产物下载行为,只取部分产物。使......
  • 如何解决 Docker Compose文件无法拉取:解决运维技术领域的Bug :Failed to pull Docker C
    如何解决DockerCompose文件无法拉取:解决运维技术领域的Bug:FailedtopullDockerComposeYAMLfilefromGitHubrepository原创作者:猫头虎作者微信号:Libin9iOak作者公众号:猫头虎技术团队更新日期:2024年6月6日博主猫头虎的技术世界......
  • [email protected]: Permission denied (publickey)
    输入ssh-keygen-trsa-C"[email protected]"   [email protected]的邮箱 一直回车,直到看到  然后到这个路径下打开文件  将里面的内容复制到git帐号的ssh中 ......
  • Gitlab 配置LDAP身份认证
     vi /etc/gitlab/gitlab.rbgitlab_rails['ldap_enabled']=truegitlab_rails['ldap_servers']=YAML.load<<-'EOS'main:#'main'istheGitLab'providerID'ofthisLDAPserverlabel:'LDA......
  • Git客户端工具:SourceTree for Mac v 4.1.5中文特别版
    SourceTree是一款由Atlassian公司推出的免费的Git和Mercurial版本控制系统的可视化客户端工具。它提供了一种简单易用的方式来管理和查看代码的版本历史,以及进行代码的比较、合并和提交等操作。用户可以通过SourceTree轻松地管理多个代码仓库,并且可以直观地查看代码的变化和提......
  • idea中Git分支操作
    创建分支实际开发中,一般会采用分支开发、主干发布的方式,现在我们就先看看如何创建分支。基本步骤如下:第一步:右键项目,选择Git/NewBranch,例如:第二步:给分支起个名字,例如:第三步:分支创建后,会自动切换到当前创建的分支,然后在新分支上可以编辑代码并提交,例如:合并分支不同的分......