git从外部repo文件夹添加文件?

时间:2017-04-15 22:07:36

标签: git

我正在为我的dotfiles创建一个repo,它在我的机器上分发。我选择了大多数dotfiles的目录并在那里创建了git repo。现在我需要添加不在这个git repo目录中的dotfiles。

我以为我找到了办法并做了

git --work-tree=/ add  /another/path/.vimrc

该文件已成功添加并作为第一次提交推送。但是,后来我改变了文件。当我做git commit -m 'edit .vimrc'时,我得到了

On branch master
Your branch is up-to-date with 'origin/master'.
...
no changes added to commit

为什么会这样?我是否错误地添加了外部文件?

1 个答案:

答案 0 :(得分:1)

--work-tree=/选项会在单个命令git ... add /another/path/.vimrc的持续时间内更改工作树暂时

添加到存储库的内容是名称的其余部分。因此,您的存储库现在有一个名为another/path/.vimrc的文件。

如果你跑了:

git --work-tree=/another/path add .vimrc

您可以将名为.vimrc的文件添加到您的存储库。

稍后,另一个Git命令如:

git checkout <revision> -- another/path/.vimrc

或:

git checkout <revision> -- .vimrc

从指定的修订版本中将文件(another/path/.vimrc.vimrc)提取到当前工作树。当前工作树是您使用--work-tree=指定的此时的任何内容,或默认情况下,基于git rev-parse --show-toplevel的隐含工作树。