linux & qnx & git 命令 2

4. 提交与日志

复制代码
git commit -m "提交信息"          # 提交
git commit --amend                # 修改最后一次提交信息

git log                           # 查看提交历史
git log --oneline                 # 简洁历史
git log --graph --oneline --all   # 分支图形化
git log -p <文件>                 # 查看文件修改历史

5. 分支管理

复制代码
git branch                    # 查看本地分支
git branch -a                 # 查看所有分支(含远程)
git branch <分支名>           # 创建分支
git checkout <分支名>         # 切换分支
git checkout -b <分支名>      # 创建并切换分支

git branch -d <分支名>        # 删除本地分支
git branch -D <分支名>        # 强制删除

git merge <分支名>            # 合并分支

6. 远程仓库

复制代码
git remote -v                 # 查看远程仓库
git remote add origin <地址>  # 添加远程仓库

git push origin <分支名>      # 推送
git push -u origin <分支名>   # 推送并设置上游
git push --force              # 强制推送(慎用)

git fetch                     # 获取远程更新(不合并)
git pull                      # 获取并合并(fetch + merge)
git pull --rebase             # 拉取并变基(推荐)

7. 撤销与恢复

复制代码
git restore <文件>            # 撤销工作区修改(Git 2.23+)
git restore --staged <文件>   # 撤销暂存区修改

git reset --soft HEAD~1       # 撤销提交但保留修改
git reset --mixed HEAD~1      # 撤销提交并取消暂存(默认)
git reset --hard HEAD~1       # 彻底撤销(危险)

git revert <commit-id>        # 反向提交(安全撤销)

8. Stash(临时保存)

复制代码
git stash                     # 暂存当前修改
git stash -u                  # 暂存包括未跟踪文件
git stash pop                 # 恢复并删除stash
git stash apply               # 恢复但不删除
git stash list                # 查看所有stash
git stash drop                # 删除某个stash

9. 高级实用命令

复制代码
git cherry-pick <commit-id>   # 挑选特定提交
git reflog                    # 查看所有操作记录(救命命令)
git blame <文件>              # 查看文件每一行是谁改的
git diff                      # 查看未暂存差异
git diff --cached             # 查看已暂存差异
git clean -fd                 # 删除未跟踪文件(慎用)

10.推荐工作流程(日常开发)

复制代码
git checkout main
git pull --rebase
git checkout -b feature/xxx
# ... 开发 ...
git add .
git commit -m "feat: xxx"
git push -u origin feature/xxx
相关推荐
SkyWalking中文站13 分钟前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
顺风尿一寸1 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
雪梨酱QAQ3 小时前
Kubeneters HA Cluster部署
运维
江华森8 小时前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森8 小时前
Matplotlib 数据绘图基础入门
运维
XIAOHEZIcode8 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
江华森8 小时前
NumPy 数值计算基础入门
运维
唐青枫10 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
和你看星星1 天前
Git rerere:让重复冲突只解决一次
git
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80