🧑💻 Git常用核心命令实操总结(新手避坑版)
作为常年跟代码打交道的程序员,Git命令用得多但总容易记混,整理了一套日常高频实操命令,全是工作中实打实会用到的,新手直接照抄,避开不必要的坑,建议收藏备用~
✅ 核心场景划分:本地无项目(首次拉取)、本地已有项目(日常开发),每一步都带简单备注,不用死记硬背,跟着操作就行。
零、在使用前还需安装git bash工具
1、在https://git-scm.com/download/win下载、安装完成以后将"你的git路径\\Git\\cmd"加入环境变量,即可在命令行启动了;
2、配置:win+R输入cmd启动命令行,然后输入自己的username和email
bash
git config --global user.name "username"
git config --global user.email "email"
3、查看一下是否配置成功
bash
git config --list
4、最后你可以在你本地的代码工作区、右击点击启动git bash即可
一、本地无项目,从远程拉取仓库(最常用场景)
适合刚接手项目、第一次获取代码的情况,直接克隆远程仓库到本地,一步到位,不用手动初始化。
1. 克隆远程仓库到本地工作区
bash
git clone git@gitlab.com:xxx.git
>博主这里用的是gitlab仓库,主流的仓库还有gitee,github,这个在自己的项目界面点击复制,下面会有让你复制的http链接
这个链接
📌 备注:克隆完成后,本地会自动生成和远程仓库同名的文件夹,里面包含完整的项目文件和Git配置,无需再手动关联远程。
2. 修改代码后,提交到本地仓库
先把修改的文件放到暂存区,再提交到本地仓库,提交说明一定要写清楚,方便后续回滚和查看记录。
bash
# 方式1:添加指定文件(精准控制,适合修改少量文件)
git add xxx.cpp yyy.h
# 方式2:添加所有修改文件(懒人必备,推荐日常使用)
git add .
# 提交到本地仓库,-m 后面跟提交描述,必须写!
git commit -m "新增xxx功能/修复xxxbug/优化xxx逻辑"
3. 关联远程仓库(备用:克隆未自动关联/需切换远程地址时用)
bash
git remote add origin git@gitlab.xxx.git
📌 备注 :origin 是远程仓库的固定别名,后续推送、拉取都用这个别名,不用重复写冗长的仓库地址。
4. 推送到远程仓库,完成代码更新
bash
# 第一次推送必须加 -u,绑定本地master分支和远程master分支
git push -u origin master
# 后续推送无需加 -u,直接执行
git push
二、本地已有项目,日常拉取远程最新代码(避免冲突关键)
日常开发中,多人协作时每次写代码前一定要先拉取远程最新代码,避免出现代码冲突,分享两种常用方法,按需选择。
方法1:rebase方式(✅ 推荐!提交记录更干净)
这种方式会把本地未提交的修改临时存起来,拉取远程代码后线性合并,不会生成多余的合并节点,提交记录更整洁,适合多人协作场景。
bash
# 1. 临时保存本地未提交的代码(防止拉取时冲突丢失)
git stash
# 2. 拉取远程master分支最新代码,并自动线性合并
git pull --rebase origin master
# 3. 恢复之前临时保存的本地代码,继续开发或提交
git stash pop
💡 补充 :如果本地没有未提交的修改,可直接执行 git pull --rebase origin master,跳过stash步骤。
方法2:fetch + merge方式(✅ 手动合并,适合新手)
这种方式会先下载远程最新代码,不自动合并,需要手动对比差异后合并,适合对Git操作不熟悉、想手动控制合并过程的新手。
bash
# 1. 只下载远程最新代码,不自动合并到本地
git fetch
# 2. (可选)查看本地代码和远程最新代码的差异,避免合并出错
git diff HEAD FETCH_HEAD
# 3. 手动合并远程代码,会生成一个新的合并节点
git merge
🆘 代码冲突简易解决方法(新手必看)
拉取代码(rebase或merge)时,最容易遇到代码冲突,新手不用慌,按以下步骤操作,轻松解决,不会丢失代码:
bash
# 1. 遇到冲突时,Git会提示 "both modified: 文件名",先查看冲突文件
git status
# 2. 打开冲突文件,找到冲突标记(<<<<<<< HEAD 到 ======= 再到 >>>>>>> 分支名)
# 示例冲突内容:
# <<<<<<< HEAD
# 本地修改的代码内容
# =======
# 远程最新的代码内容
# >>>>>>> origin/master
# 3. 手动修改冲突内容:保留需要的代码,删除冲突标记(<<<<<<<、=======、>>>>>>>)
# 注意:一定要仔细核对,不要误删有用代码
# 4. 修改完成后,继续完成拉取/合并操作
# 若用rebase方式冲突,执行:
git add .
git rebase --continue
# 若用merge方式冲突,执行:
git add .
git commit -m "解决代码冲突:保留本地xxx逻辑,合并远程xxx修改"
git push
📌 备注:冲突解决核心是"手动筛选有用代码+删除冲突标记",操作完成后记得add和继续对应流程,新手多操作1-2次就能熟练掌握,不用怕冲突~
三、高频辅助/应急命令(避坑必备)
这些命令平时用得不多,但遇到问题时能"救命",尤其新手要注意用法,避免误操作丢失代码!
⚠️ 重点警告:以下命令部分慎用,执行前务必确认本地代码是否已备份!
bash
# 1. 丢弃本地所有未提交的修改(慎用!执行后未提交代码直接消失,无法恢复)
git checkout .
# 2. 临时存放/恢复本地修改(开发高频命令)
git stash # 把本地未提交的修改藏起来
git stash pop # 恢复最近一次藏起来的修改(最常用)
git stash list # 查看所有藏起来的修改记录
# 3. 克隆指定分支(非默认master分支时用)
git clone -b 分支名称 仓库地址
# 示例:git clone -b dev git@gitee.com:HANDM-735/git-testing.git
# 4. 查看远程仓库关联信息(确认是否关联正确)
git remote -v
四、日常开发标准工作流(✅ 直接照抄,零出错)
整理了一套每天写代码都能用到的固定流程,新手按步骤来,不会踩坑:
-
临时保存本地修改(有未提交代码才执行)
bashgit stash -
拉取远程最新代码,避免冲突
bashgit pull --rebase origin master -
恢复本地修改,继续开发
bashgit stash pop -
开发完成后,提交修改
bashgit add . git commit -m "提交说明(清晰明了)" -
推送到远程仓库,完成更新
bashgit push
🚨 最后补充(新手避坑3大核心要点)
- 提交说明(-m后面的内容)必须清晰:比如「修复登录接口 bug」「新增用户列表页面」,不要写「修改代码」「更新」这种无效描述,后续回滚时根本不知道改了什么。
- 拉取优先用rebase:避免merge生成大量混乱的合并节点,让提交记录更整洁,方便后续排查问题。
git checkout .绝对慎用:本地有未提交的重要代码时,执行后会直接删除,无法恢复。