«

带你git从入门到精通

myluzh 发布于 阅读:48


0x01 git 安装与环境配置

1、安装
https://git-scm.com/

git -v
git version 2.50.1 (Apple Git-155)

2、配置

vi ~/.zprofile
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'
# 重载
source ~/.zprofile

git 常用命令

%%{init: {'theme': 'base', 'flowchart': { 'curve': 'monotoneX', 'nodeSpacing': 40, 'rankSpacing': 60, 'padding': 25 }}}%%
graph LR
    %% --- 样式定义 ---
    classDef green fill:#90EE90,stroke:#333,stroke-width:1px,color:black,rx:5,ry:5;
    classDef pink fill:#FFC0CB,stroke:#333,stroke-width:1px,color:black,rx:5,ry:5;
    classDef blue fill:#87CEEB,stroke:#333,stroke-width:1px,color:black,circle;
    classDef plain fill:none,stroke:none,color:#666,font-size:12px;

    %% --- 区域 1:工作区 (起点) ---
    subgraph Workspace [工作区 Workspace]
        direction TB
        In1[修改文件]:::plain --> Unstaged(未暂存):::green
        In2[新建文件]:::plain --> Untracked(未跟踪):::green
    end

    %% --- 区域 2:暂存区 (中转) ---
    subgraph IndexZone [暂存区 Index]
        Staged(已暂存 Staged):::pink
    end

    %% --- 区域 3:仓库 (终点) ---
    subgraph Repository [仓库 Repository]
        direction LR
        %% 【关键修改】添加一个隐藏的辅助节点来撑开顶部间距,防止标题被遮挡
        TopSpacer[ ]:::plain ~~~ C1

        C1((C1)):::blue --> C2((C2)):::blue --> C3((C3)):::blue
    end

    %% --- 核心流向 (Git命令) ---
    Unstaged -- git add --> Staged
    Untracked -- git add --> Staged
    Staged -- git commit --> C3

初始化本地仓库(init)

作用:在当前目录下初始化一个 Git 仓库,生成一个隐藏的 .git 目录。
命令形式:git init

查看修改的状态(status)

作用:查看修改的状态(暂存区、工作区)
命令形式:git status

添加工作区到暂存区(add)

作用:添加工作区一个或多个文件的修改到暂存区
命令形式:git add 单个文件名|通配符
将所有修改加入暂存区:git add .

提交暂存区到本地仓库(commit)

作用:提交暂存区内容到本地仓库的当前分支
命令形式:git commit -m '注释内容'

查看提交日志(log)

作用:查看提交记录
命令形式:git log [option]
常用参数:
--all 显示所有分支
--pretty=oneline 将提交信息显示为一行
--abbrev-commit 使得输出的 commitId 更简短
--graph 以图形化的方式显示
配置别名 (推荐):
说明:配置后可直接使用 git-log 自动包含上述所有参数。
别名命令:alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'

版本回退(reset)

作用:版本切换(回退到历史版本)。
命令形式:git reset --hard commitID
提示:commitID 可以使用 git-log 或 git log 指令查看。

(reflog)

进阶技巧:如何查看已经删除的记录?
命令:git reflog
作用:这个指令可以看到已经删除的提交记录(例如回退后又想“反悔”,找回最新的 commitID)。

(.gitignore ) 添加文件至忽略列表

作用:设置无需纳入 Git 管理的文件(如自动生成的日志、编译产生的临时文件等),避免它们出现在未跟踪文件列表(untracked files)中。
操作方法:在工作目录中创建一个名为 .gitignore 的文件(文件名固定),在其中列出要忽略的文件模式。
配置示例:

# 忽略所有 .a 结尾的文件
*.a
# 但是跟踪 lib.a,即使前面忽略了 .a 文件
!lib.a
# 只忽略当前目录下的 TODO 文件,不包括子目录下的 subdir/TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/
# 忽略 doc/notes.txt,但不包括 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录下(含子目录)的所有 .pdf 文件
doc/**/*.pdf

git 分支

查看本地分支

命令:git branch

创建本地分支

命令:git branch 分支名

切换分支(checkout)

命令:git checkout 分支名
我们还可以直接切换到一个不存在的分支(创建并切换)
命令:git checkout -b 分支名

合并分支(merge)

合并并到另一个分支
命令:git merge 分支名称

删除分支

命令:git branch -d b1
删除分支 不能删除当前分支,只能删除其他分支

git


正文到此结束
版权声明:若无特殊注明,本文皆为 Myluzh Blog 原创,转载请保留文章出处。
文章内容:https://itho.cn/578.html
文章标题:《带你git从入门到精通