Git是什么?

简单说,Git是一个“版本控制工具”,能帮我们记录项目文件的所有修改,随时回退到任意版本,还能多人协作开发时合并代码。今天我们就来整理最常用的Git命令,从基础到进阶,让你拉取、推送、切换分支一次搞定!

一、基础操作:初始化与克隆

1. 初始化本地仓库

作用:把一个普通文件夹变成Git可以管理的仓库。
命令git init
场景:刚建了个新项目,想开始用Git管理,就执行这个命令。
例子

# 在项目文件夹里执行
git init  

2. 克隆远程仓库(从别人那里拉项目)

作用:把别人放在远程仓库(比如GitHub、GitLab)的项目复制到本地。
命令git clone 仓库地址
场景:第一次接触项目,想直接把代码拉到自己电脑。
例子

# 克隆GitHub上的仓库(假设地址是https://github.com/xxx/xxx.git)
git clone https://github.com/xxx/xxx.git  

二、日常操作:提交与查看

1. 查看文件状态

作用:看看哪些文件被修改、新增了,或者还没提交。
命令git status
场景:写了代码后,想知道现在仓库的“变化情况”。
例子

# 执行后会显示:哪些文件被修改(红色)、哪些已暂存(绿色)
git status  

2. 暂存修改

作用:把“修改的文件”先放到一个临时区域(暂存区),之后统一提交。
命令git add 文件名(单次)或 git add .(全部)
场景:改了多个文件,想分批提交,或者先暂存所有修改。
例子

# 暂存所有修改的文件
git add .  

# 只暂存某个文件(比如index.html)
git add index.html  

3. 提交到本地仓库

作用:把暂存区的修改“正式记录”到本地仓库,相当于“保存当前版本”。
命令git commit -m "提交信息"
场景:完成一个小功能,比如“修复登录bug”,就提交一下。
例子

# 提交信息要简洁明了,说明改了啥
git commit -m "修复首页导航栏错位问题"  

三、分支操作:切换与合并

1. 查看分支列表

作用:看看当前有哪些分支(本地分支)。
命令git branch
场景:想知道自己在哪个分支,或者有哪些分支可以切换。
例子

# 执行后会列出所有分支,当前分支前面有*号
git branch  

2. 创建并切换分支

作用:新建一个分支,并且直接切换过去(最常用!)。
命令git checkout -b 新分支名
场景:要开发新功能(比如“用户注册”),不想直接改主分支,就新建一个分支。
例子

# 创建并切换到名为"feature/register"的新分支
git checkout -b feature/register  

3. 切换已有分支

作用:从当前分支切换到另一个已有的分支。
命令git checkout 已有分支名
场景:比如写完功能,要回主分支合并代码。
例子

# 切换到主分支master
git checkout master  

4. 合并分支

作用:把一个分支的修改“合并”到当前分支(比如把feature分支的功能合并到master)。
命令git merge 要合并的分支名
场景:功能开发完成后,把分支代码合并到主分支,方便其他人看到。
例子

# 先切换到master分支,再合并feature/register分支
git checkout master  
git merge feature/register  

四、核心操作:拉取与推送

1. 拉取代码(更新本地)

作用:从远程仓库拉取最新代码,避免本地和远程版本冲突。
命令git pull 远程仓库名 分支名
场景:别人先推了代码到远程,你要先拉取才能继续开发。
例子

# 拉取origin仓库的master分支到本地
git pull origin master  

2. 推送代码(上传本地)

作用:把本地的提交推到远程仓库,让团队其他人看到你的修改。
命令git push 远程仓库名 分支名
场景:完成本地提交后,推到远程仓库保存(第一次推分支要加-u)。
例子

# 第一次推feature/register分支到origin(-u设置上游分支,以后直接git push就行)
git push -u origin feature/register  

# 后续推同一分支,直接git push即可
git push  

五、撤销与恢复(避坑必备)

1. 撤销未提交的修改

作用:如果改了文件但没提交,想回到之前的状态。
命令git checkout -- 文件名
场景:改了代码觉得不对,想放弃修改。
例子

# 撤销对index.html的修改
git checkout -- index.html  

2. 撤销提交(回退到上一个版本)

作用:如果提交了错误内容,想回退到上次提交前的状态。
命令git reset --soft HEAD~1
场景:提交信息写错了,或者代码没写完就误提交了。
例子

# 回退到上一次提交前(--soft保留修改,--hard直接删除修改,谨慎!)
git reset --soft HEAD~1  

六、注意事项

  1. 提交信息要明确:每次提交都写清楚“改了啥”(比如“修复登录按钮点击无反应”),方便自己和别人回溯。
  2. 分支命名规范:推荐用feature/xxx(功能分支)、bugfix/xxx(修复分支)等格式,避免混乱。
  3. 多人协作前先拉取:如果和别人同时改了同一个文件,先git pull拉取再推,避免覆盖别人的修改。
  4. 慎用力度操作git reset --hard会直接删除修改,一定要先确认!

七、总结

Git命令不用死记硬背,常用的就那几个:init(初始化)、clone(克隆)、add(暂存)、commit(提交)、status(状态)、pull(拉取)、push(推送)、checkout(分支)、merge(合并)。多练习几次,拉取、推送、切换分支这些操作会变得很自然~

需要更多场景的命令?评论区告诉我,下次补充!

小夜