Git 入门指南
1. 初识 Git
1.1 Git 是什么?
Git 是一个开源的分布式版本控制系统,用于高效地跟踪和管理项目代码的变更历史。
1.2 为什么要有 Git
在学习或工作中,为了防止文档丢失或更改失误,需要保留历史记录。例如设计文档会有多个版本(v1, v2, 确定版等),文件越来越多且难以追踪具体修改内容。版本控制器能记录每次修改及版本迭代,方便多人协同作业。目前最主流的版本控制器是 Git,它可以控制电脑上所有格式的文件。
Git 是开源分布式版本控制系统,用于高效跟踪管理项目变更历史。本文涵盖 Git 在 Linux 和 Windows 下的安装方法,包括初始化仓库、用户配置及工作区暂存区概念。核心内容包括分支管理策略如创建切换合并分支、处理冲突、使用 stash 暂存现场,以及远程仓库操作如克隆推送拉取。此外还介绍了多人协作流程、Pull Request 机制及标签管理,帮助开发者高效进行版本控制与团队协作。

Git 是一个开源的分布式版本控制系统,用于高效地跟踪和管理项目代码的变更历史。
在学习或工作中,为了防止文档丢失或更改失误,需要保留历史记录。例如设计文档会有多个版本(v1, v2, 确定版等),文件越来越多且难以追踪具体修改内容。版本控制器能记录每次修改及版本迭代,方便多人协同作业。目前最主流的版本控制器是 Git,它可以控制电脑上所有格式的文件。
注意事项: 版本控制系统主要跟踪文本文件的改动(如 txt、网页、代码)。对于图片、视频等二进制文件,只能记录大小变化,无法记录具体内容差异。

Git 可在 Linux、Unix、Mac 和 Windows 平台上运行。
在 Ubuntu 下安装 Git 非常简单:
git --versionCommand 'git' not found,则未安装。sudo apt-get install git -ygit --version 确认版本号。访问 Git 官网下载对应操作系统的安装包,双击运行并按照指示完成安装。安装完成后打开 Git Bash,输入 git --version 检查是否成功。

使用 git init 命令在当前目录下创建 Git 本地仓库。

安装后需设置用户名称和邮箱:
git config [--global] user.name "Your Name"
git config [--global] user.email "[email protected]"
--global 为可选项,表示全局配置;否则仅针对当前仓库。git config -lgit config [--global] --unset user.nameGit 包含三个区域:工作区、暂存区(stage/index)、版本库(repository)。
.git/index)。.git,存储所有版本信息。操作流程:
git add [file]:将文件添加到暂存区。git commit -m "message":将暂存区内容提交到本地仓库。查看提交日志:git log 或 git log --pretty=oneline。

index:暂存区。HEAD:指向当前分支的指针。refs/heads/master:保存当前 master 分支的最新 commit id。objects:对象库,存储所有修改内容。使用 git status 查看文件修改状态。使用 git diff [file] 显示暂存区和工作区的差异,或使用 git diff HEAD -- [file] 查看版本库和工作区的区别。
使用 git reset 命令回退版本:
git reset --hard HEAD^:回退到上一个版本并丢弃工作区修改。git reflog:记录本地所有命令,用于找回误删的 commit id。git checkout -- [file] 恢复文件。git reset HEAD [file] 取消暂存。git reset --hard HEAD^ 回退版本。git rm [文件名] 然后 commit。git checkout -- [文件名]。git branchgit branch devgit checkout dev切换到目标分支(如 master),执行 git merge dev 合并分支。
<<<<<<<, =======, >>>>>>>),需手动修复后重新 commit。使用 git merge --no-ff -m "msg" branch_name 生成新的 commit 节点,保留分支历史信息。
开发中途发现 bug 需修复时:
git stash 暂存当前工作区进度。git stash pop 恢复现场。在 Gitee 等平台创建仓库,选择单分支模型或生产/开发模型。
支持 HTTPS 和 SSH 两种方式。SSH 方式需配置公钥:
ssh-keygen -t rsa -C "[email protected]"git push origin <branch>git pull origin <branch>git config --global alias.st statusgit tag [name]git tag -a [name] -m "XXX"git push origin --tagsgit push origin --delete <tagname>dev 分支并推送。dev 分支:git checkout -b dev origin/dev。pull 更新本地仓库。dev 合并至 master。master 最新,分别创建 feature-1 和 feature-2 分支。git remote prune origin。注意: 多人协作时应保持 master 分支稳定,优先在功能分支上解决冲突。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online