Py学习  »  Git

GitIgnore后文件夹已消失

Agustin Meinardo • 5 年前 • 1323 次点击  

我和我的队友使用visual studio在mvc项目中工作。今天我试着做了一个.gitignore来忽略要提交到我们的存储库的文件夹和一个文件夹( App_Data/ )已经消失(在我们的仓库里)。 我会一步一步地解释我所做的:

  1. 我做了我的.gitignore:
Tp_Integrador/.vs/
Tp_Integrador/Tp_Integrador/obj/
Tp_Integrador/packages/
Tp_Integrador/Tp_Integrador/App_Data/
Tp_Integrador/Tp_Integrador/bin/
Tp_Integrador/Tp_Integrador/Content/
Tp_Integrador/Tp_Integrador/Properties/
Tp_Integrador/Tp_Integrador/Scripts/
  1. git add . , git commit -m "asdfad" git push
  2. git rm -r --cached . , Git添加。 git commit -m "Cached"
  3. 最后,在我们的存储库中,我看不到我们的文件夹 应用程序数据/ 在visualstudio中我看到 应用程序数据/ 空的和一些 .cs (c类)不可追踪,因为队友做了更改,而我没有看到它们。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39847
 
1323 次点击  
文章 [ 3 ]  |  最新文章 5 年前
Agustin Meinardo
Reply   •   1 楼
Agustin Meinardo    6 年前

最后,我重置了分支,并从最后一个状态开始创建了一个新的存储库。

VonC
Reply   •   2 楼
VonC    6 年前

当我们更改代码时(例如,C类),应用程序的数据内容会发生变化。我要的是及时归还,把文件夹保留到昨天

如果可以,请在问题中描述的序列之前将分支重置为提交: git log ,并在注释为“cached”的提交之前选择提交。

git checkout -b newBranch <oldCommit>
git push -u origin newBranch

我们的目标是将您的更改报告给 newBranch 在把旧的换掉之前。

那么,如果你需要忽略 Tp_Integrador/Tp_Integrador ,但不是子文件夹,请在 .gitignore 新牧场 ):

Tp_Integrador/Tp_Integrador/**
!Tp_Integrador/Tp_Integrador/**/
!Tp_Integrador/Tp_Integrador/App_data/

那样的话, git rm -r --cached . , git add . 将从添加文件 Tp_Integrador/Tp_Integrador/App_data/ ,但不来自 Tp_Integrador/Tp_Integrador/ .

Caio Proiete
Reply   •   3 楼
Caio Proiete    6 年前

Git不存储空文件夹,因此如果您希望 App_Data 文件夹在那里,你将不得不手动创建它再次(如果你删除它)并把一个空文件放在里面,git可以跟踪并确保文件夹总是被创建。

一个常见的模式是创建一个名为 .gitkeep 在您一直希望git保存的文件夹中,然后在您的 .gitignore ,告诉git忽略您的文件夹,好吧,但不要忽略名为 .gitkeep公司 (任何地方)。

例如

Tp_Integrador/Tp_Integrador/App_Data/
!.gitkeep