1. 先说说Git到底是什么,为什么它几乎成了开发标配
Git这东西,刚接触的时候总觉得有点绕,等真用熟了,你会发现它其实就解决了两件事:第一,帮你把代码的历史版本管得明明白白;第二,让一群人能在同一个项目上各改各的,最后还能不打架。你要是翻招聘JD,几乎每个技术岗位都会写“熟悉Git”,但它跟那些需要背命令的软件不一样,Git的核心是它的“思维模型”——只要心里有那套模型,命令根本不用背,遇到场景自然就知道该用什么。
在我带过的团队里,新同事刚入职时最慌的往往不是业务代码,而是Git操作。分支切错了、代码提交乱了、一不小心把别人的改动覆盖了,这些问题几乎人人都遇到过。而老手和新手的差别,不在于记住了多少条命令,而在于遇到状况时能不能快速判断:“我现在处于哪个状态,我要去哪个状态,哪条命令是安全的”。
这篇就来把Git的完整使用链路过一遍,从安装配置、日常提交、分支管理到远程协作,再加上我这些年踩坑踩出来的实战经验。不管你是刚入行的新人,还是已经写了几年代码但一直靠几招“死命令”撑场面的人,按照这条线走一遍,应该能把Git前后打通。
提示:以下内容以命令行操作为主。虽然现在有各种图形化工具,但命令行的逻辑最完整、表达最清晰。工具会迭代,命令背后的原理几十年不变。而且掌握了命令行,图形工具对你来说就是锦上添花。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备:装好Git只是开始,关键在配置
2.1 三种系统下的安装方式
安装Git的方式看系统来。Windows用户我建议直接去官网下载安装包,一路Next装完就行,安装过程中有个选项要注意:选择“Use Git from the Windows Command Prompt”,这样你就能在CMD和PowerShell里直接敲git命令了。macOS用户最简单的方式是安装Xcode Command Line Tools,终端里敲git --version会弹出安装提示,或者用Homebrew执行brew install git。Linux用户根据发行版走包管理器,Ubuntu/Debian用sudo apt install git,CentOS/RHEL用sudo yum install git,Fedora用sudo dnf install git。
装完之后先验证一下:
bash复制git --version
如果你能看到类似git version 2.43.0的输出,说明安装成功了。这里说个细节:不同系统的Git版本号可能差很多,但不要一味追求新版。Git的协议和核心功能高度稳定,只要不是特别老的版本,日常使用不会有差异。我自己在服务器上还跑着2.30左右的版本,一样很稳。
2.2 安装之后的第一件事:配置身份信息
装完Git第一件事不是急着建仓库,而是先配置用户名和邮箱。这个操作很多人会忽略,但几乎所有的Git报错里,“无法自动识别用户信息”应该能排进前三。原因很简单:每次commit,Git都要记录“谁提交的”,如果你没配置,它只能拦着你让你先配置。
bash复制git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
这两个配置是全局的,意味着你这台机器上所有仓库都默认使用这个身份。--global参数的意思是“写入当前用户的家目录下”,对应的配置文件路径在~/.gitconfig(Windows在C:\Users\你的用户名\.gitconfig)。你也可以用--local只给某个仓库单独配置身份,这样在公司的电脑上,个人项目和公司项目就能用不同的身份提交。
配置完了可以查看一下是否生效:
bash复制git config --list
顺手把默认分支名改成main,这是一个很值得做的习惯:
bash复制git config --global init.defaultBranch main
很多老教程会让你改master,但在当前的开源生态里,main已经是事实标准。改这个的意义在于,新初始化的仓库默认分支名就是main,不会跟你远程仓库的分支名产生差异,省得后面还要手动改。
注意:如果你是Windows用户,建议再执行一条命令
git config --global core.autocrlf true。Windows和Linux/macOS的换行符不同(CRLF和LF的区别),这个配置会自动将Windows下的CRLF转换成LF再提交,避免因为换行符差异导致整个文件被判定为“全部改动”的尴尬情况。macOS和Linux用户则建议设置core.autocrlf input。
2.3 配置SSH密钥:和远程仓库安全通信的前提
如果你只在自己电脑上本地用Git,不跟远程仓库交互,那SSH密钥可以不配。但只要你想往GitHub、GitLab、Gitee这类平台推送代码,SSH密钥就是绕不开的一环。它是你的“身份凭证”,比每次输密码安全也方便得多。
生成密钥的方式很固定:
bash复制ssh-keygen -t ed25519 -C "你的邮箱"
一路回车可以生成在默认位置(~/.ssh/id_ed25519),也可以设置密码短语(passphrase)作为额外的保护
