git常见操作及问题

本文将持续更新遇见的所有报错...

一、 正常提交代码至远程仓库

最常用,适用于:已经在本地代码库中进行了修改的情况。

cpp 复制代码
1. 将修改添加到暂存区
git add .

2. 提交到本地仓库," "内为commit内容,最好为有意义的注释
git commit -m "commit内容"

3. 推送到远程仓库
注:现代仓库(如 GitHub)默认分支多为 main,老仓库为 master
git push origin master 

无法确保本地代码是基于远程最新版本开发的话,最好在执行上方代码前执行

cpp 复制代码
git pull

二、 初始化

适用于:本地已有代码,想将其上传到新建仓库

cpp 复制代码
1.初始化本地仓库
git init

2.关联远程地址
git remote add origin https://地址/用户名/仓库名.git

3.同步远程信息,如果远程仓库已经有 README 或 License,需要先拉取
git pull origin master

4.推送本地内容
git push -u origin master

三、 环境清理

创建并编辑 .gitignore 适用于:需要过滤add文件

**例子:**创建 .gitignore 文件,并写入需要忽略的路径:

cpp 复制代码
# 忽略所有 .log 文件
*.log

# 忽略 node_modules 文件夹
node_modules/

# 忽略编译后的产物
/dist
/build

四、 无法读取树变量报错

问题原因:目录索引卡(Index)或 .git 损坏

解决方式:删除损坏的索引文件或 .git 文件重新部署

4.1 索引文件问题

cpp 复制代码
rm -rf .git/index
git reset

然后再重新配置上传

4.2 .git文件损坏

4.1执行后还是无法解决的话可能是.git文件损坏,需要删除.git文件重新部署(删除前最好先备份重要文件)

cpp 复制代码
rm -rf .git

之后重新部署git

bash 复制代码
git init
git remote add origin git@gitee.com:你的用户名/仓库名.git
git pull origin master

详细部署git步骤可至博客https://blog.csdn.net/weixin_65182626/article/details/155993104?fromshare=blogdetail&sharetype=blogdetail&sharerId=155993104&sharerefer=PC&sharesource=weixin_65182626&sharefrom=from_link

然后正常提交

bash 复制代码
git add .
git commit -m "你的内容"
git push -u origin master

若以上过程出现其他错误,如:

  • git commit后发现提示修改了其他源文件
  • git push/git pull报错

最好使用4.3方法。

4.3 彻底解决.git损坏

适用于:以上方法都无法解决问题,出现报错

解决方法:将远程仓库中没有的文件先备份,然后删除现有目录所有内容重新部署.git,拉取远程仓库内容,再将新文件(未上传文件) 的备份拷贝至目录,最后正常上传

问题假设:在远程仓库中,有A、B、C文件,我当前目录中有A、B、C、D文件,D文件是我要上传的新文件(或者没有D,要上传的是修改后的A/B/C文件也同理)

步骤:

1.将需要上传的文件D进行备份(或者是有新修改的A/B/C)

bash 复制代码
cp -a ./D ../D.bak

2.彻底清空目录(远程仓库中的没有的文件一定要备份)

bash 复制代码
rm -rf ./* ./.??*    #隐藏文件也要删除

3.重新初始化.git目录

bash 复制代码
git init
git remote add origin git@gitee.com:你的用户名/仓库名.git
git pull origin master

4.将刚刚备份的新文件拷贝回当前目前目录

bash 复制代码
cp -a ../D.bak ./D

5.正常上传文件,问题解决

bash 复制代码
git add .
git commit -m "你的内容"
git push -u origin master
相关推荐
2601_9561394226 分钟前
广州VI设计公司哪家强
linux·运维·服务器·python
想唱rap1 小时前
五种IO模型和非阻塞IO
linux·运维·服务器·网络·数据库·tcp/ip
哈哈浩丶2 小时前
存储相关知识①—通用NAND Flash 基础
linux·存储·nand
向日的葵0063 小时前
大模型之git操作(第五章)
git
mzhan0173 小时前
Linux: config: CRYPTO_USER_API_AEAD
linux·安全·module
wangjialelele3 小时前
【SystemV】基于建造者模式的信号量
linux·c语言·c++·算法·建造者模式
源远流长jerry4 小时前
Linux 网络虚拟化深度解析:从 veth 设备对到容器网络实战
linux·运维·服务器·网络·性能优化·php
|_⊙4 小时前
Linux 深入理解文件(Ext2文件系统:上)
linux·运维·数据库
kidwjb4 小时前
Linux共享内存
linux·服务器·进程间通信
红茶要加冰4 小时前
七、正则表达式
linux·运维·正则表达式·shell