我是新来的源代码控制git。我想确保我尽可能地理解所有事情,并且很早就碰到了一些看起来很奇怪的事情。为什么我必须在提交之前添加正在跟踪的文件?
下面是我在做什么:
- 创建GitHub上一个新的存储库。它提供了一个“标准的”C#.gitignore文件,听起来不错,所以我说是的。
- 我看到有一个使用存储库创建的Readme和.gitignore。
- 我克隆此回购使用
git clone [repo location] [local folder]
- 我编辑的.gitignore文件来添加一些额外的忽略文件和文件夹在我的机器。
- 我输入
git commit
,这会产生一条消息,指出“更改未提交进行提交”,但将.gitignore列为被修改。
因此,最终我添加它,提交并推回原点,它显示了我在GitHub上的更改。所以一切都很好。
这有点令我困惑。如果.gitignore没有被追踪,那么在世界上如何使用git clone
来拉下?为什么我必须手动添加它才允许我提交更改?
这是一个很好的解释,文章帮了我很多忙(这个和我有关于'git reset'的问题) –
我知道,对吧? 'git reset'会变得非常混乱,但是这篇文章使它非常简单。 – Shahbaz
特别来自没有临时区域的svn背景。但非常酷。 –