Git从入门到放弃

开始#

Git官网

Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从小到大的项目版本管理。

在 Git 中,文件一共有三种状态,分别是:

  • 已修改(modified):表示修改了文件,但是还没保存到数据库中。
  • 已暂存(staged):表示对一个已修改文件的当前版本做了标记,并使之包含在下次提交的快照中。
  • 已提交(committed):表示数据已经安全的保存在本地数据库中。

安装#

安装 Git

经过上面链接安装完成后,可以使用如下命令查看当前 Git 版本

Copy
git --version

配置#

当我们首次成功安装完成后,需要对 Git 进行如下配置:

Copy
git config --global user.name xxx //把xxx替换成你的英文名字随便什么都行 git config --global user.email yyy //把yyy替换成你的邮箱 git config --global push.default matching git config --global core.quotepath false git config --global core.editor "vim" //使用vim编辑提交信息

注意:一定要进行上述配置,否则后面会出问题!

配置完成后,我们可以使用如下命令来检查所配置的列表信息

Copy
git config --list

也可以使用git config <verb>形式来检查某一项的配置,例如:

Copy
git config user.name git config user.email

Git帮助#

如果我们想要获取 Git 的相关帮助,可以使用如下命令:

Copy
git git help git help <verb> git help config //获取config命令的手册

获取仓库#

在 Git 中,有两种方式可以获取仓库。

本地初始化项目#

使用如下命令进行项目初始化:

Copy
git init // or git init 仓库名

初始化项目后,该命令会创建一个名为.git的子目录,该目录是隐藏文件。

克隆已有的仓库#

Copy
git clone [url] git clone [url] 自定义仓库名 # 例如 git clone git@github.com:LqZww/vue-notes.git demo

检查当前文件的状态#

如下命令可以查看文件当前是处于什么状态的:

Copy
git status

下列命令可以更简洁的方式查看更改:

Copy
git status -s # or git status --short

如果git status命令的输出对于你来说过于模糊,你想知道具体修改了什么地方,可以使用git diff命令。


忽略文件#

有时候我们有些文件无需进行Git的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。

在这种情况下,我们可以创建一个名为.gitignore的文件,列出要忽略的文件的模式。

.gitignore文件的格式规范如下:

  • 所有空行或者以 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配(glob模式是指shell所使用的简化了的正则表达式)。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

添加并提交#

将所有修改添加至暂存区:

Copy
git add .

提交版本:

Copy
git commit -m "描述" git commit -v //进入vim模式

跳过使用暂存区域:

Copy
git commit -a -m '描述'

只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤。


查看历史提交#

使用如下命令来查看历史版本记录:

Copy
git log

不传入任何参数的默认情况下,git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面!

Copy
git log -p //可以查看添加的详细内容 git log --oneline //会将每个提交放在一行显示,在浏览大量的提交时非常有用

撤销操作#

有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。此时,可以运行带有 --amend 选项的提交命令尝试重新提交:

Copy
git commit --amend

回退到指定的历史版本:

Copy
git checkout 版本号

撤回上一个版本:

Copy
git checkout -

标签#

列出所有标签:

Copy
git tag git tag -a 标签名 -m "备注"

为指定版本添加标签:

Copy
git tag -a 标签名 -m "备注" 版本号

查看某个标签的详细信息:

Copy
git show 标签名

回到至标签所在的提交:

Copy
git checkout 标签名

显示所有记录:

Copy
git log --oneline --all

将tag提交到远程:

Copy
git push --tags

分支#

创建分支:

Copy
git branch 分支名

切换分支:

Copy
git checkout 分支名

图示全部历史记录:

Copy
git log --all --graph

创建并切换至分支:

Copy
git checkout -b 分支名

合并分支:

Copy
git merge 分支名

回退版本#

回退到xxxx版本:

Copy
git reset xxxx

强制回退到xxxx版本:

Copy
git reset --hard xxxx

远程仓库#

添加远程仓库:

Copy
git remote add 远程名称 远程地址

列出所有远程仓库:

Copy
git remote

上传代码:

Copy
git push -u 远程名 分支名

获取远程更新:

Copy
git pull

一把梭#

假设当前为 master 分支,我们需要创建一个新分支,并将 master 分支内容更新到新分支上,可以做以下操作:

Copy
git checkout -b 分支名1 git status git add . git commit -v git push origin 分支名1 git checkout master git merge 分支名1 // 将分支名1的代码合并到master git push origin master

参考、学习链接#

Git - Book

Learn Git Branching

Git教程 - 菜鸟教程

Git使用规范流程 - 阮一峰

Git工作流程 - 阮一峰

常用Git命令清单 - 阮一峰

Git远程操作详解 - 阮一峰

最后我们再来看看下面这张 Git常用命令速查表

posted @   LqZww  阅读(190)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示
CONTENTS