Git 常见问题和解决方案

本文详细记录了Git使用中常见的问题,包括如何忽略不必要文件、修改配置信息、撤销远程分支的错误提交等。对于忽略文件,介绍了gitignore文件的使用和特殊情况的处理。对于配置信息的修改,讲解了不同级别的配置文件及其优先级。同时,讨论了简单粗暴的强制reset + push和使用revert回滚提交的区别与适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文长期更新,记录了个人在使用Git过程中经常遇到的难题和相应的解决方案。一方面可以作为备忘方便查阅,另外希望也能让使用Git过程中被各种问题弄晕的朋友们找到一点解决的思路。

最近更新时间: 2018/3/29

常见问题汇总

1. 忽略不必要文件

在项目开发过程中,往往会产生一些临时文件或者库文件。它们无须通过版本控制进行同步,要么从来不会被修改,要么可以通过现有文件生成。这时为了防止版本控制的仓库冗余,往往忽略掉不必要文件是一个很好的解决方案。但是这也可以分成两种情况来说——第一种是刚刚初始化git仓库,你还在为添加哪些文件忽略哪些文件而头疼;第二种则是你耿直地直接把所有文件一股脑丢进版本库里,以至于每次更新版本都有一些 莫名其妙的文件被修改。个人来说,第二种情况反而更多见一点。

a) 第一种情况

先说第一种情况怎么解决,因为你的敬畏之心,你比其他人拥有了一个更加干净的仓库——准确的说是啥也没有。这种情况反而好办了,只需要一个 .gitignore 文件就可以化解所有的烦恼。如果你是Windows的用户可能会麻烦一点,因为windows下通过图形化界面是无法创建一个没有名字只有后缀的文件的。我推荐一个比较简单的方法,就是通过cmd的echo命令来创建。你只需要在命令行中切换到仓库对应的根目录(即带有.git文件的那个目录),然后使用 echo 123 > .gitignroe 就可以得到一个git ignore文件。然后你就可以通过文本编辑器(最好不要用自带的文本文档,可能会有问题)打开该文件,然后发现里面有“123”的文本。这是因为echo将“123”重定向到了 .gitignore 文件里,“123”没有任何意义,你完全可以删掉它们。

有了git忽略文件只是第一步,下一步要做的则是把未被跟踪中想要忽略的文件名添加到 .gitignore文件中。这里的未被跟踪一词需要被划重点一词,因为它就是区分上述两种情况不同的根本所在。已经被git仓库跟踪的文件是不会受到gitignore影响的。如果你不理解什么是未被跟踪(untracked ),可以简单地把它理解为——从未被git commit提交到版本库中的文件。例如你在git工作目录下新建了一个文件,通过 git status 查看仓库状态时它就会被认为是未被跟踪的。联系到实际情况,就是你鲁莽地把所有文件一股脑添加到了版本库中,然而现在你突然发现有些文件根本不需要被跟踪,这时你采用gitignore的方式依然无法忽视掉这些文件之后的改动。

关于如何在 .gitignore 中忽略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值