news 2025/12/24 3:31:01

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进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/17 10:46:23

AI如何自动解决EACCES权限错误?快马平台实战演示

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Node.js项目&#xff0c;演示如何自动检测和解决Error: listen EACCES: permission denied 0.0.0.0问题。要求&#xff1a;1. 实现端口检测功能&#xff0c;自动扫描可用端…

作者头像 李华
网站建设 2025/12/17 10:45:29

AI帮你一键获取Python官方资源 - 快马智能解析

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Python官方资源获取助手&#xff0c;能够自动访问Python官网&#xff0c;识别最新稳定版本下载链接。功能包括&#xff1a;1)自动检测用户操作系统类型 2)从官网解析对应系…

作者头像 李华
网站建设 2025/12/17 10:45:09

AI如何解决‘template not found‘错误?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个AI辅助工具&#xff0c;用于检测和修复template might not exist or might not be accessible by any of the configured错误。工具应能自动扫描项目目录&#xff0c;识别缺…

作者头像 李华
网站建设 2025/12/17 10:44:38

从手动到自动:Supervisord管理效率提升300%的秘诀

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个Supervisord效率对比工具&#xff0c;能够模拟传统进程管理方式和Supervisord管理方式。要求&#xff1a;1) 展示两种方式下启动10个进程的时间对比 2) 模拟进程崩溃后的恢…

作者头像 李华
网站建设 2025/12/20 9:01:48

AI教你玩转C语言typedef:从入门到精通

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用快马平台生成一个C语言项目&#xff0c;展示typedef的基本用法和高级应用。项目需包含以下内容&#xff1a;1. typedef定义基本数据类型&#xff08;如int、float&#xff09;的…

作者头像 李华
网站建设 2025/12/17 10:43:52

AI如何帮你解决Java的NoSuchFieldError错误

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Java项目&#xff0c;演示如何解决java.lang.NoSuchFieldError: class com.sun.tools.javac.tree.JCTree$JCImport错误。首先分析错误原因&#xff0c;然后提供修复方案。包…

作者头像 李华