Git:如果你在结束前没有提交会发生什么?

时间:2018-05-26 18:50:34

标签: git git-bash git-commit

我很惊讶我无法找到关于升级/提交性质的更全面的解释,所以我问自己。我是GitHub的新手(并没有在这台电脑上下载过Bash,所以我宁愿让人们回答)。

具体来说,让我们假设您正在使用GitBash在项目目录中工作。您进行了一些基本的更改并保存。如果没有暂存或提交任何内容,您将关闭所有应用程序。您所做的更改会发生什么变化?他们被擦除了还是留下了变化?我想同样的问题适用于你承诺你的东西然后退出。

是"提交"存储在某个文件夹中?是"临时区域"只是一个临时的Bash事物或者是否有一个物理文件夹呢?

退出时是否需要重新提交更改?

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

首先请注意,GitHub只是用于存储受Git版本控制的文件的几种在线服务之一。 Git是实际跟踪文件更改和版本的程序,并且在内部不太深入,只是跟踪文件的不同版本。

当您对文件进行更改时,将保存该更改,就像该文件不受版本控制一样。当您关闭应用程序时,您的更改将保持不变,就像git不存在一样。提交更改只是为git本身保存了一种“检查点”。这允许您将更改还原为先前的提交,比较不同的版本等。如果退出应用程序,也会保存提交。

基本上是的,提交存储在某个文件夹中,但是git足够智能,不会在不同的时间点存储大量的文件副本,而是尽可能少地存储信息,同时仍保留记录的内容。改变。暂存区域只是决定您希望git跟踪哪些文件的地方。当您转到提交文件时,只有那些已添加到暂存区域的文件才会提交给git。其余的仍然保持正常的更改,但由于你没有告诉git关心他们,他们被忽略了。您可以通过更改某些文件来看到这一点,只使用git add将其中一些文件添加到暂存区域,然后调用git status,这将通知您某些文件已经提交阶段,而其他文件则是“修改”或“未跟踪”但不会被提交。

如果您真的想要四处寻找,可以尝试打开存储库中隐藏的git文件夹(在Mac / Linux上以.为前缀),看看git如何存储您所拥有的更改制成。