git本地仓库文件路径发生变化

之前写过一篇博客是讲git的一些简单的操作的。对于之前的总计不到位,在这里做一个补充。

问题是如何产生的

我不知道大家有没有遇到过一个问题,先建好一个仓库,并且上传了自己的东西。后来对他们去做修改,包括文件的删除,位置的移动。当git push 之后发现,恩,没错,的确更新了,可是之前的那些依然存在你的git仓库中。不过我们知道git rm可以删除git中的一些文件,可是如果我有100个文件路径发生改变了那?100个文件在本地仓库中移除了哪。所以固执的我认为一定有一个简单粗暴的方法解决这个问题。
对于这个问题,做个测试吧

我仓库创建好之后,添加文件1,文件2,以及文件夹a,而文件夹a中包含文件b。

这里写图片描述

现在上传到我的git仓库,可以看到我的commit -m 后面的参数给的是“test”。一会我们换一个参数,以区分它们。

这里写图片描述

这里写图片描述

好了,我现在要做的事情就是把文件1,2移动到文件夹a中。之后git push 我们看看它们的效果。

这里写图片描述

如何我们可以看到文件12的路径已经发生了改变,然而在我们的git 上并没有出现相对应的路径改变。之前的两个文件12还依然与文件夹a同目录。可是这很明显不是我们想要的结果,我们需要的是git远程仓库中的文件与本地的仓库同步。

这里写图片描述

这里写图片描述

解决问题

这是我第一次遇到这个问题,问了身边很多人都没有遇到过与我类似的问题。似乎大家都是一次性创建好位置。最后的解决办法就是 用commit -m 替换为commit -am。那他们有什么区别吗
commit -m  //用于提交暂存区的文件
git commit -am //用于提交跟踪过的文件
  • 工作目录下面的所有文件都不外乎这两种状态:已跟踪(tracked)或未跟踪(untracked)。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新(unmodified),已修改(modified)或者已放入暂存区(staged)

原理理解了以后,来解决我们的问题吧

这里写图片描述
这里写图片描述

恩,发现,成功了!

问题解决

所以当本地仓库中的文件有大幅度的删除或者路径改变,应该使用-am而不是-m。不过也可以通过git status查看文件的状态,在考虑应该使用-m还是-am。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值