网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 软件工程 > 软件工程其他 >

Git常用操作

时间:2025-08-29 15:01

人气:

作者:admin

标签:

导读:Git常用操作 创建仓库 创建本地仓库 ​git init​ 克隆远程仓库 ​git clone lt;远程仓库地址gt; lt;目录gt; 省略目录,默认克隆在当前路径 配置 设置提交代码时的用户信息 git config --global u...

image

Git常用操作

image

创建仓库

  • 创建本地仓库

    • git init
  • 克隆远程仓库

    • git clone <远程仓库地址> <目录> 省略目录,默认克隆在当前路径

配置

  • 设置提交代码时的用户信息

    • git config --global user.name "xxxx"
      git config --global user.email xxx@example.com
      
  • 查看所有配置

    • git config --list

提交

  • 暂存

    • git add .
  • 提交

    • git commit -m '提示信息'
  • 修改最近一次提交

    • git commit --amend

      • 修改上一次提交的信息和/或内容,会弹出编辑器修改提交信息
    • git commit --amend --no-edit

      • 把暂存区的改动合并进上一次提交,不修改提交信息
    • 使用 --amend后,Git 会生成一个新的 commit hash,相当于“覆盖”了上一次提交。如果这个提交已经推送到远程仓库,那么你需要使用 git push --force或 git push --force-with-lease来更新远程

分支

  • 查看分支

    • git branch 查看分支(列出本地仓库所有分支)
    • git branch -r 列出远程仓库所有分支
    • git branch -a 列出所有分支 本地+远程
    • git barnch -v 查看每个分支的最新提交
    • git branch -vv 查看当前分支跟踪的远程分支,git push默认将代码推送到该分支
  • 创建和切换分支

    • git branch 新分支名 创建新分支
    • git checkout 分支名 切换分支
    • git checkout -b 新分支名 创建并切换到新分支

创建新分支时,新分支保存了当前分支的历史提交
工作区和暂存区是共享的,当前未提交的工作区内容(未暂存、已暂存未提交)会在切换到其他分支时保持,一旦提交,则切换到其他分支时就只显示该分支最后一次提交的状态

  • 删除分支

    • git branch -d 分支名 安全删除已合并的分支,检查分支是否合并
    • git branch -D 分支名 强制删除未合并的分支
  • 重命名分支

    • git branch -m 新分支名 重命名当前分支名
    • git branch -m 旧分支名 新分支名 重命名已有的分支名
  • 合并分支

    • git merge 分支名 -m '提示信息' 将一条分支合并到当前分支,并且添加此次合并的提交信息。合并分支文件发生变化时算作一次提交,若合并分支并未发生变化,则不会产生提交。
    • git branch --merged 查看已合并到当前分支的分支列表
    • git branch --no-merged 查看未合并到当前分支的分支列表

储藏当前修改

  • 储藏当前修改

    • git stash 将所有未提交的更改保存到一个新的储藏堆栈中,并将你的工作区恢复到最后一次提交的状态(干净的状态)。
      在版本号>= 2.13.0的Git中,增加了对未跟踪的文件(Untracked files)进行备份。未提交的更改包括修改但未暂存、暂存、未跟踪文件,之前版本只备份修改但未暂存、暂存的更改
    • git stash push -m "提示信息" 带提示信息储藏当前修改
  • 恢复当前储藏

    • git stash pop 恢复并删除最新储藏
    • git stash apply 恢复但不删除储藏
    • git stash branch 新分支名 为储藏的更改创建一个新分支
  • 查看储藏

    • git stash list 列出所有储藏

查看提交信息

  • 查看完整提交日志

    • git log
  • 提高可视化

    • git log --oneline --graph

切换历史版本

  • 临时切换到历史版本

    • git checkout 提交哈希值
  • 永久回退到历史版本

    • git reset 提交哈希值

      • --soft(软回退)

        • 只回退仓库历史,暂存区和工作目录的文件内容保持不变。
      • --mixed(混合回退,默认模式)

        • 回退仓库历史和暂存区
        • 但你工作目录的文件内容保持不变,所有更改作为未暂存的修改存在。
      • --hard(硬回退)

        • 彻底回退仓库历史、暂存区工作目录全部回退到指定提交的状态。
        • 你自该次提交以来的所有未提交的更改(包括工作目录的修改)都将被永久丢弃!

撤回

  • 查看变更历史

    git reflog
    
    • 打印出所有变更历史,包括修改提交、创建分支等,并且会以HEAD@{x}的形式唯一表明每一次变更记录,其中x表示一个数字
  • 撤回至历史变更

    git reset --soft HEAD@{x}
    
    • HEAD@{x}是通过git reflog查询到的变更记录
    • HEAD@{x}不同于HEAD~xHEAD@{x}表示变更记录,HEAD~x只表示提交记录。变更包括commit、commit(amend)、checkout、reset等。
  • 撤回最近一次本地提交,但保留修改内容

    git reset --soft HEAD~1
    
    • 效果:提交被撤回,但是所有修改保留在暂存区(相当于git add后)
  • 撤销提交并取消暂存修改,但保留文件改动

    git reset HEAD~1
    # 或简写(默认 --mixed)
    
    • 效果:撤回提交,修改会保留在工作区
  • 彻底丢弃最近一次提交和所有修改

    git reset --hard HEAD~1
    
    • 效果:提交和所有修改直接删除,工作目录恢复到上一次提交的状态
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
  • 第五天

    第五天

    今日学习情况 日期:2026年3月13日 所花时间:半小时 代码量:20 行 博客量:...
  • 子串 & 数组 & 矩阵(精选答案)

    子串 & 数组 & 矩阵(精选答案)

    子串 (1) 和为 k 的子数组(前缀和) quot;quot;quot; 给你一个整数数组 nums 和一个...
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信