拉动和新版本的代码时出现问题

时间:2012-03-06 09:29:09

标签: git

我有自己的git服务器,我用它在一些项目中工作。

所有客户都使用smartgit(v2.1& 3)在Windows中工作。

但我发现了一些“问题”

  1. 当有人推送新的代码时,你会拉(如预期的那样)你会检索新的代码但是你的本地版本不会自动转到新代码。

    这确实是个问题,因为

    • 我需要找到哪些文件被修改以重置我的本地文件并进入新版本
    • 当推送仅添加1个新文件时,其不可用于推进到新版本
  2. 我注意到的其他情况是,当我们两个人在工作时...我们会说我们有: foo.txt和bar.txt

    所以,如果我正在使用bar.txt并修改它。 我把它推到服务器

    所以,1分钟后,我的朋友编辑了foo.txt(没有先拉出更改)。当他想推送数据时git会出错,因为服务器中有新的更改(但没有该文件)

    接下来会发生什么?

  3. 理论上,你必须能够推动它或者......先拉然后推。 但是我们有第一个问题,文件没有覆盖到新版本,所以你什么也没做。

    我们找到的唯一解决方案(对我们来说太糟糕了)就是复制所有项目。 拉动,覆盖所有文件。并复制我们想要推送的修改。

    现在这是我们的方法,但是非常缓慢而烦人......

    并取出git的所有好东西。

    我们在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

在Greg Hewgill的帮助下,我终于解决了它。

问题是smartgit而不是git。

当您执行拉动时,它会提供“保持跟踪”选项

该选项提供3个可能的答案。

  • 跳过:什么都不做
  • 配置:跟踪主在线分支以获取本地存储库的所有更改。
  • 另一个我不记得了

所以问题是因为我一直在点击跳过:\