使用--git-dir和--work-tree选项时,模糊参数origin / master

时间:2016-07-11 03:36:51

标签: git

我使用git来管理我的工作站的dotfiles,使用描述here的设置来存储存储库本身。它基本上通过将存储库文件夹本身放入一个侧面文件夹(我使用~/.dot)并创建一个专门指向repo和工作树的git的别名来解决homedir版本控制的问题。我的别名是alias dot="/usr/bin/git --git-dir=$HOME/.dot --work-tree=$HOME"。我可以成功控制整个homedir版本(我有config status.showUntrackedFiles no用于理智)并使用dot statusdot add ...dot commit ...等命令来管理我不断变化的配置。 / p>

我遇到的问题是我希望能够编写一个脚本(强制)从我的远程存储库更新我的本地配置。我看过很多地方建议使用git reset,方式如下: dot fetch origin dot reset --hard origin/master

这种方法很有意义,事实上我已经看到第一手有人在他们的脚本中使用这种方法,但是当我使用它时,我得到以下错误:

fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]'

有人能说明发生了什么吗?似乎任何时候我需要使用remote/branch引用语法,它会搞得一团糟。我怀疑这是因为我使用--git-dir和--work-tree而引起的问题,但每当我搜索解决方案时,很少有人会遇到相同的条件。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,它与--git-dir或--work-tree选项无关。

我检查了我的来源,并使用https://github.com/ ...地址进行了设置,因此我将其替换为git remote remove origingit remote add origin git@github.com:...表单指向同一个回购。之后,当我运行git fetch时,有一个不同的提示,很明显它实际上取了master,然后原点/主引用工作。