从远程拉出时git会截断文件吗?

时间:2015-06-03 19:56:32

标签: git git-pull

我有一个运行Apache和PHP的Web服务器。我想知道Git是否在拉取过程中中断对文件的访问。

1 个答案:

答案 0 :(得分:3)

git pull实际上是两个命令的快捷方式:

这将从远程检索文件。你有机会打断它。

git fetch

这会将更改合并到您的本地分支。 以毫秒完成

git merge

所以,关于截断文件的能力:

  1. 正如Thomas Kilian所说,git进程在它独立的线程中运行。所以它不容易被打断。
  2. 如果您中断git pull(关闭控制台,或者您的互联网连接掉线等),您实际上会中断git fetch。由于未完成提取,因此不会将截断的文件合并到您的分支。重复git fetchgit pull,让它完成,您就拥有了文件的有效副本。
  3. 如果有机会Git设法合并一个无效状态(比如合并期间电源关闭),你总是得到你之前的提交。做git reset --hard <last-valid-commit-sha1>