news 2026/1/23 8:00:08

git操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
git操作

一、独立开发项目
1.新项目克隆代码:git clone git地址
2.git add -A
3.git commit -m "提交代码"
4.git push origin master(要提交的分支名称)

5.git pull origin master (日常开发拉最新代码)

二、协同配合的项目
1.git clone 地址
2.git checkout master
3.git pull origin master
4.git checkout -b feature_xuxj
5.git push -u origin feature_xuxj

主分支:master
保护分支:relsase
子分支:feature_xuxj

提交代码过程:
1.git pull origin relsase
2.git add -A
3.git commit -m "提交代码"
4.git push origin feature_xuxj
5.git merage 合并代码,一般是手动合并,没问题再确认合并,这一步不一定是命令行合并


三、常见命令
1.git log #查看提交日志
2.git log --oneline #查看提交历史,找到要撤销的提交的 hash
3.git branch backup-branch #创建备份分支
3.代码回滚的办法:
方法一:重置到指定提交(彻底删除后续提交)
git reset --hard +(对应的hash)
方法二:反向提交(安全撤销,保留历史)
# 1. 查看提交历史,找到要撤销的提交的 hash
git log --oneline

# 2. 创建反向提交(撤销指定版本的更改)
git revert <commit-hash> # 例:git revert a1b2c3d

# 3. 解决冲突(如有)并提交
git add .
git commit -m "Revert commit: a1b2c3d"

# 4. 推送到远程
git push origin <分支名>

4.重置本地代码(用git最新的全量代码覆盖本地除依赖外的全部代码)
git fetch origin
git reset --hard
注意:git pull origin master 是拉取最新的代码,和本地不一样的代码或者文件会进行替换,如果本地有不一样的文件会保留!!!

5.强制推送(不太建议这么干)
git push --force #强制推送风险:会覆盖远程历史,确保团队其他成员知晓
6.git init #初始化新仓库
7.基础操作:

# 初始化仓库
https://gitee.com/ruowu666666/cool-car.gitgit

# 克隆远程仓库
git clone https://github.com/user/repo.git

# 查看当前状态
git status

# 添加所有修改到暂存区
git add .

# 提交更改
git commit -m "描述信息"

# 推送代码到远程
git push origin 分支名
8.分支管理:
# 创建新分支
git branch feature-xxx

# 切 main
git switch main # (Git 2.23+)

# 创建并切换分支
git checkout -b hotfix-xxx

# 删除本地分支
git branch -d 分支名

# 查看所有分支(含远程)
git branch -a

# 关联本地分支到远程
git push -u origin 分支名
9.代码回退:
# 撤销工作区修改(单个文件)
git checkout -- 文件名

# 撤销暂存区的修改
git reset HEAD 文件名

# 回退到上个版本(保留修改)
git reset --soft HEAD~1

# 彻底回退到某提交
git reset --hard commit_id

# 撤销某次提交(生成新提交)
git revert commit_id
10.协作同步:
# 拉取远程更新(合并)
git pull origin 分支名

# 拉取远程更新(变基)
git pull --rebase origin 分支名

# 强制推送(覆盖远程)
git push --force-with-lease # 比--force更安全

# 解决冲突后继续合并
git merge --continue

# 解决冲突后继续变基
git rebase --continue
11.查看信息:
# 查看提交历史
git log --oneline --graph -n 10

# 查看文件修改历史
git blame 文件名

# 查看工作区与暂存区差异
git diff

# 查看最近提交内容
git show HEAD

# 搜索提交历史
git log -S "关键字"
12.高级技巧
# 临时保存修改
git stash save "备注"
git stash pop # 恢复

# 修改最后一次提交
git commit --amend

# 交互式变基(合并/修改提交)
git rebase -i HEAD~3

# 清理未跟踪文件
git clean -fd

# 找回误删的提交
git reflog # 找到commit_id后reset
13.标签管理:
# 创建标签
git tag v1.0.0 -m "正式版"

# 推送标签到远程
git push origin --tags

# 删除远程标签
git push origin :refs/tags/v1.0.0
14.配置相关:
# 设置用户名/邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

# 生成SSH密钥
ssh-keygen -t ed25519 -C "your_email@example.com"

# 设置默认编辑器(VSCode)
git config --global core.editor "code --wait"


15.如果是重新换个文件夹克隆的项目
克隆之后本地还运行修改了,但是想提交代码
1.git branch 运行之后检查是否有你要提交的分支:例如如果看不到 feature_xuxj,说明你不在这个分支上。
2.git checkout -b feature_xuxj 或者新版 git switch -c feature_xuxj
3.git push -u origin feature_xuxj -u 会把本地分支与远程分支关联起来,以后只需要 git push 即可
注意:本地叫 feature_xuxj,远程叫 feature_xuxj_dev,可以:git push origin feature_xuxj:feature_xuxj_dev
总结:当遇到上述问题时 git status + git branch

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/22 21:01:37

从MySQL到JookDB:我们的查询性能提升了300%

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个数据库性能对比工具&#xff0c;能够并行测试JookDB和MySQL在以下场景的表现&#xff1a;1. 复杂联表查询 2. 大批量数据插入 3. 高并发读写。工具应生成详细的性能报告&am…

作者头像 李华
网站建设 2025/12/23 15:53:07

小白必看!Python官方下载避坑指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个交互式Python下载指导应用&#xff0c;功能&#xff1a;1)分步引导界面 2)操作系统自动检测 3)下载按钮高亮提示 4)常见问题解答 5)安装验证工具。要求界面友好&#xff0c…

作者头像 李华
网站建设 2025/12/29 19:44:32

传统VLAN vs VXLAN:运维效率对比实验报告

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个网络模拟对比工具&#xff0c;可并行创建VLAN和VXLAN测试环境&#xff0c;自动生成以下对比报告&#xff1a;1) 相同规模下的配置命令数量 2) 添加新节点的耗时对比 3) 故障…

作者头像 李华
网站建设 2026/1/16 13:34:03

对比:传统调试vs AI辅助解决npm错误的效率差异

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个对比实验项目&#xff0c;展示&#xff1a;1. 手动解决npm cb()错误的典型流程&#xff1b;2. 使用AI工具自动解决的流程&#xff1b;3. 两种方法的时间消耗统计&#xff1…

作者头像 李华
网站建设 2025/12/23 13:04:59

AI如何简化VXLAN配置?智能代码生成实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个VXLAN配置生成器&#xff0c;根据用户输入的网络拓扑参数&#xff08;如VTEP IP、VNI、物理接口等&#xff09;&#xff0c;自动生成完整的设备配置脚本。支持Cisco、华为、…

作者头像 李华