2012-03-22 55 views
2

我们正试图修改了NANT构建脚本拉从我们的远程Git仓库的变化,然后从构建服务器上的本地存储库中发布。在测试我需要运行的命令时,我发现使用Git.exe直接显示出错误。通过命令行使用Git是越野车,但bash工作正常吗?

我能做到通过Windows命令行中获取并正确更新远程分支指向比我的地方分支机构一个新的版本。但是,当我尝试将这些远程更改合并到本地分支时,它声称我有未提交的更改并且不会让我合并。如果我运行“状态”,它告诉我我没有任何更改,它已准备好与远程分支进行快速合并。

如果我切换到普通的Git Bash的正常工作。我可以整天获取并合并,而且不存在我看不到的未经许可的神秘改变的奇怪问题。下面是一个屏幕截图,显示我正在执行重现问题的步骤。

http://screencast.com/t/T6BKbxHeN

任何帮助深表感谢。

+0

请您可以发布您在此处看到的命令和错误消息,而不是在某些第三方视频网站中。我尝试过,但我感到无聊。有一件事要注意,如果你想像你一样比较你应该在每个例子中使用相同的工作树。 – 2012-03-22 22:14:56

+0

我不知道你的意思,我使用的是相同的工作树... 您必须指定在结束了'.git'传入'--git-dir'选项时。 – Chev 2012-03-22 22:16:40

+0

错误正是我所说的。精确的措辞是“您的本地对以下文件的更改将被合并覆盖:fetch_中更新的文件的列表请在合并之前提交您的更改或隐藏它们。” – Chev 2012-03-22 22:19:03

回答

1

你需要指定工作树执行合并时:

git --git-dir=c:\code\klas\.git --work-tree=c:\code\klas merge origin/master 

编辑:只注意到查尔斯·贝利在评论中提到它,我保证,我没有想杀死偷:)