先不说删除,先说新建文件
建立文件流程
在目录下建立文件 git add 文件名 #将文件递交到stage区 git commit -m "描述" #将stage区递交到仓库
那删除文件是一个道理
在目录下删除文件 git rm 文件名 #将删除文件递交到stage区 git commit -m "描述" #将stage区递交到仓库
再说找回删除的文件
第一种 只在目录下删除文件(这个和在目录下删除文件中的内容是一样的, 因为git跟踪的是修改,不是文件) git checkout -- 文件名 #找回文件 ps:有一种情况是文件修改了没有进过stage递交到仓库,就被删除了。 git checkout -- 文件名 是找不回修改的(我估计修改的也不能被 找回,因为没有被递交到仓库里。)
第二种 在目录下删除文件,并且进过stage递交到了仓库(这个就是版本回退了) git reset --hard HEAD^ ps:文件被修改后没有进过stage递交到仓库就被删除了,然后把删除文件这个 修改递交到仓库。版本回退,被修改的内容是丢失的。
操作中发现的 前提是 文件被修改后没有经过stage递交到仓库 执行git rm 文件名 显示错误(错误大概意思是目录中的文件内容与库中的内容不一样) 理解:同步下修改(add然后commit),然后删除库和文件。
Sign in to make a reply
迟到的小风
先不说删除,先说新建文件
建立文件流程
在目录下建立文件 git add 文件名 #将文件递交到stage区 git commit -m "描述" #将stage区递交到仓库
那删除文件是一个道理
在目录下删除文件 git rm 文件名 #将删除文件递交到stage区 git commit -m "描述" #将stage区递交到仓库
再说找回删除的文件
第一种 只在目录下删除文件(这个和在目录下删除文件中的内容是一样的, 因为git跟踪的是修改,不是文件) git checkout -- 文件名 #找回文件 ps:有一种情况是文件修改了没有进过stage递交到仓库,就被删除了。 git checkout -- 文件名 是找不回修改的(我估计修改的也不能被 找回,因为没有被递交到仓库里。)
第二种 在目录下删除文件,并且进过stage递交到了仓库(这个就是版本回退了) git reset --hard HEAD^ ps:文件被修改后没有进过stage递交到仓库就被删除了,然后把删除文件这个 修改递交到仓库。版本回退,被修改的内容是丢失的。
操作中发现的 前提是 文件被修改后没有经过stage递交到仓库 执行git rm 文件名 显示错误(错误大概意思是目录中的文件内容与库中的内容不一样) 理解:同步下修改(add然后commit),然后删除库和文件。