Git常用命令
目录
git pull = git fetch + git merge
日常代码提交
| 命令 | 例子 | 用途 |
|---|---|---|
git status |
git status |
查看当前文件状态(哪些修改了、哪些没提交) |
git add 文件名 |
git add app.log |
把单个文件添加到暂存区 |
git add . |
git add . |
把所有修改的文件一次性添加到暂存区(推荐) |
git commit -m "提交说明" |
git commit -m "修复登录bug" |
把暂存区代码提交到本地仓库(必须写备注) |
远程仓库同步
| 命令 | 例子 | 用途 |
|---|---|---|
git remote -v |
git remote -v |
查看关联的远程仓库地址 |
git pull |
git pull |
拉取远程代码(同步团队最新代码,必用) |
git push origin 分支名 |
git push origin main |
推送本地代码到远程仓库 |
git push origin --delete 分支名 |
git push origin --delete feature/login |
删除远程仓库的分支 |
git pull = git fetch + git merge
git fetch:只下载远程最新代码到本地,不合并(安全,不会修改你的代码)git merge:自动把下载的远程代码,合并到你当前的本地分支git pull就是把这两步合成一步,快捷但会自动合并,有冲突时需要手动解决。
git pull 当前在哪个分支,就自动拉取该分支对应的远程最新代码,并自动合并。
指定远程仓库 + 指定分支
git pull <远程仓库名> <远程分支名>
当前在本地 dev 分支,想拉取远程的 feature/login 分支代码:
git pull origin feature/login
--rebase(⭐ 团队开发推荐首选)
git pull --rebase # 简写(指定分支) git pull --rebase origin main
git pull --rebase
# 简写(指定分支)
git pull --rebase origin main
好处:
rebase:把你的本地提交,拼接在远程最新提交后面,历史一条直线,非常整洁
✅ 推荐所有开发场景使用 git pull --rebase
git pull -v(查看详细日志)
✅ 作用:显示拉取、合并的完整过程,调试冲突时用。
分支管理
| 命令 | 例子 | 用途 |
|---|---|---|
git branch |
git branch |
查看所有本地分支(带 * 的是当前所在分支) |
git branch 分支名 |
git branch feature/login |
创建新分支(基于当前分支复制) |
git switch 分支名 |
git switch feature/login |
切换到指定分支 |
git checkout -b 分支名 |
git checkout -b feature/login |
一键创建 + 切换分支(最常用) |
git merge 分支名 |
git merge feature/login |
合并分支(把指定分支合并到当前分支) |
git branch -d 分支名 |
git branch -d feature/login |
删除本地分支(合并完成后清理无用分支) |
git switch和git checkout的区别
新建分支 + 切换一步到位
# 新命令(-c = create) git switch -c feature/login
# 老命令(-b = branch) git checkout -b feature/login
git checkout不仅可以切换分区,还能还原文件,git switch不能还原文件
撤销/回退(改错了,急救)
| 命令 | 例子 | 用途 |
|---|---|---|
git checkout -- 文件名 |
git checkout -- app.js |
丢弃工作区修改(文件改乱了,恢复成上次提交的样子) |
git reset HEAD 文件名 |
git reset HEAD app.js |
取消暂存(不小心 git add 了,撤回来) |
git reset --hard HEAD~1 |
git reset --hard HEAD~1 |
回退到上一个版本(谨慎使用!会删除当前修改) |
查看日志 / 信息
| 命令 | 例子 | 用途 |
|---|---|---|
git log |
git log |
查看完整提交历史(作者、时间、备注) |
git log --oneline |
git log --oneline |
查看简洁版提交日志(一行显示一个记录) |
查看所有GIT配置:Git config --list
从github/gitlab下载完整项目:Git clone 远程仓库地址
查看当前文件状态(哪些修改了、哪些没提交):git status
常见问题&解决办法
1. 拉取时报错:冲突(CONFLICT)
原因:你修改的代码,和远程别人修改的代码改了同一行。解决:
- 打开文件,手动删除冲突标记
<<<<<<</=======/>>>>>>> - 解决后执行:
# 如果是普通 pull
git add . && git commit -m "解决冲突"
# 如果是 pull --rebase
git add . && git rebase --continue
2. 本地有未提交代码,无法 pull
原因:本地有修改,合并会覆盖代码。解决:暂存代码 → pull → 恢复
git stash # 暂存未提交的修改
git pull # 拉取最新代码
git stash pop # 恢复暂存的代码
3. pull 错了,想撤销
⚠️ 谨慎操作!回退到拉取之前的版本:
git reset --hard HEAD~1
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)