Git更新本地忽略几个文件(不是.gitignore)

时间:2016-08-17 10:04:09

标签: git git-pull git-reset git-fetch

Scenario:
 Bitbucket:
  file1 
  file2 
  file3  

 Local:
  file1 - person1 is working on it
  file2 - person2 is working on it
  file3 - common with personal hardcoded configuration
  untracked files

person1在file1上提交并推送他的更改。 person2如何在不重置file2,file3和未跟踪文件的情况下更新本地的file1? 我尝试这样做已经有一段时间了,但我仍然没有找到一个简单的方法! 感谢。

1 个答案:

答案 0 :(得分:1)

从远程存储库获取新提交时,不会更新未跟踪的文件。至于file2file3(我假设跟踪),您需要在这些上设置skip-worktree标志。这样Git就不会在你的工作目录中更新它们。

来自documentation

  

<强> - [无糖]跳到-worktree
  当指定其中一个标志时,记录的对象名称为   路径未更新。

更多specifically

  

在阅读条目时,如果它被标记为skip-worktree,那么Git   假装其工作目录版本是最新的并阅读   索引版本。

您可以使用git-update-index命令在特定文件上设置skip-worktree标志:

git update-index --skip-worktree path/to/file2

如果您以后想取消设置标记,请改用--no-skip-worktree选项:

git update-index --no-skip-worktree path/to/file2