【发布时间】:2012-04-07 13:05:51
【问题描述】:
我们正在尝试修改 NANT 构建脚本以从我们的远程 Git 存储库中提取更改,然后从构建服务器上的本地存储库发布。在测试我需要运行的命令时,我发现直接使用 Git.exe 似乎有问题。
我可以通过 Windows 命令行进行提取,它会正确更新远程分支以指向比我的本地分支更新的版本。但是,当我尝试将这些远程更改合并到本地分支时,它声称我有未提交的更改并且不会让我合并。如果我运行“状态”,它会告诉我我没有任何更改,并且它已准备好与远程分支快速合并。
如果我切换到常规的 Git Bash,它就可以正常工作。我可以整天获取和合并,而不会出现关于我看不到的神秘未提交更改的奇怪问题。
【问题讨论】:
-
请您发布您在此处看到的命令和错误消息,而不是在某些 3rd 方视频网站中。我确实尝试过,但我很无聊。需要注意的一点是,如果您想将同类与同类进行比较,您应该在每个示例中使用相同的工作树。
-
我不确定你的意思,我使用的是同一个工作树...在传递
--git-dir选项时,你必须在末尾指定.git。 -
错误正是我所说的。确切的措辞是“您对以下文件的本地更改将被合并覆盖:在 fetch 中更新的文件列表请在合并之前提交您的更改或存储它们。”
-
我并没有真正关注视频,但看起来您确实在一个版本中使用
...\Git\bin作为工作树。我可能弄错了,我真的不明白发生了什么。 -
@CharlesBailey \Git\bin 是 Git.exe 的工作目录,我们在其中传递参数。 Git Bash 是一个正在运行的 Git 控制台。该程序本身也位于 \Git\Bin 中。在 Windows CMD 中,我们将 git 目录作为参数传递。但是,Git Bash 是在 git 目录的上下文中运行的。他们应该做同样的事情,但似乎在合并时失败了。
标签: git bash command-line nant dvcs