git常用命令与概念汇总
发布日期:2021-05-04 18:16:57 浏览次数:30 分类:精选文章

本文共 1672 字,大约阅读时间需要 5 分钟。

Git配置与常用操作解析

设置记住用户名和密码

在使用Git进行代码管理时,有时需要配置用户名和密码以便自动记忆。以下是一种简单有效的方法:

  • 打开终端或命令提示符,执行以下命令:
  • git config --global credential.helper store
    1. 输入用户名和密码,完成后Git会记住这些信息。
    2. 注意事项

      • 这种方法会将密码存储在明文格式中,存在一定的安全风险。如果工作环境中涉及敏感数据,请谨慎使用。
      • 安装的依赖项(如npm包)可能会访问此文件,因此建议只在信任的环境中应用。

      删除某次提交的操作

      删除已提交的代码有两种主要方法:

      方法一:使用 revert

      revert命令用于还原上一次提交,具体操作如下:

      git revert HEAD~1

      优点:

      • 保留原有的提交记录。
      • 生成新的提交,避免丢失修改记录。

      方法二:使用 rebase -i

      rebase交互式命令可以删除多次提交,但需注意以下情况:

      • 如果删除的提交与后续提交有相同的修改内容,可能会产生冲突。
      • 不能直接删除包含未被合并的提交。

      操作步骤:

      git rebase -i HEAD~5

      选择删除的提交后保存并退出,Git会将这些提交从历史中删除。

      方法三:使用 reset

      如果希望完全删除当前分支,可以使用reset命令:

      git reset --hard

      这将清空工作区和暂存区,回到上一个 commit。

      注意事项

      • 使用reset时,请确保已经切换到正确的分支,否则可能会影响其它工作。
      • --hard选项会删除所有未提交的修改内容,慎重使用。

      HEAD指向解析

      HEAD是Git中一个重要的概念,通常指向当前分支的最新提交。以下是一些常见场景:

      在主分支(master)上

      默认情况下,HEAD指向当前分支的最新提交:

      git checkout master

      HEAD会显示为:

      HEAD -> master (refers to commit 'd')

      切换到新分支

      创建并切换到新分支:

      git checkout -b testing

      此时,HEAD会指向新的测试分支:

      HEAD -> testing (refers to commit 'a')

      检出特定提交

      如果要查看某次提交的状态,可以检出该提交:

      git checkout commit-hash

      此时,HEAD会指向该特定提交:

      HEAD (refers to commit 'b') -> v2.0

      检出detached HEAD

      在某些情况下,HEAD可能会与当前分支不一致:

      git checkout commit-hash

      此时,HEAD将指向该特定提交,而不再指向任何分支。

      处理detached HEAD

      如果误切换到detached HEAD,可以通过以下方式恢复:

    3. 创建新分支:
    4. git checkout -b foo
      1. 切换到新分支:
      2. git checkout foo
        1. 提交新修改:
        2. git commit -m "message"

          HEAD与父级符号解析

          HEAD符号常见形式:

          • HEAD:指向当前分支的最新提交。
          • HEAD~:指向当前分支的父级提交。
          • HEAD^:指向提交的父级提交(第一个父级)。
          • HEAD~1^2:指向提交的第二个父级。

          这是Git查找特定提交的强大功能,适用于解决常见问题。


          RESET命令的使用

          RESET命令用于撤销提交的操作,根据需要选择不同的选项:

          选项解析

        3. --hard:完全清空工作区和暂存区。
        4. git reset --hard
          1. --soft:只清空暂存区,保留工作区的修改。
          2. git reset --soft
            1. --mixed:保留工作区和暂存区的修改。
            2. (默认选项,即git reset

              示例

              • 如果只想保留工作区的修改:
              git reset --soft
              • 如果需要完全清空:
              git reset --hard

              注意事项

              • 使用RESET前,请确保已经将修改提交到远程仓库或备份。
              • --hard选项会删除所有未提交的修改,慎重使用。
    上一篇:关于sudoers用户权限控制的一些理解,白话叙述,浅显易懂。
    下一篇:centos7上安装并初始化msyql的正确姿势,以及一些错误处理

    发表评论

    最新留言

    表示我来过!
    [***.240.166.169]2025年05月08日 09时42分15秒