0

在工作中,我们需要使用自定义的“源代码控制”系统。基本上,每当我们将新的更改推送到我们的实时环境时,它都会对我们的代码进行快照。除了获取上次实时推送的副本之外,没有回滚功能,没有机制可以查看谁更改了什么,并且一旦一个人正在处理代码,其他人就可以更改源代码并且您不会知道(除非您发现改变)。

我想在这种环境中实现 Git,但我在 Git 的方式上不够聪明,无法弄清楚如何最好地做到这一点。以下是我需要处理的要求:

  • 源代码存储在远程文件路径上。
  • 一旦我开始一个项目,任何人都可以更改远程源(如果可能,我想捕获这些更改)。
  • 在我开始研究它之前,源(通常)已经存在。
  • 在我完成一个项目后,其他人可能会更改源代码(不使用 Git)。
  • 我将尝试让我的其他同事也参与其中。
  • 我对远程服务器只有文件读/写访问权限。
  • 我的同事不喜欢命令提示符(坦率地说,我更喜欢使用 GUI),所以使用 GUI(比如 Windows 的 GitHub,或者更好的是 Visual Studio 中的团队资源管理器工具)将是一个高优先级.
  • 我们是一家专门研究 C# 和 ASP.NET MVC 的仅限 Windows 的商店,因此任何解决方案都需要在这些范围内工作。
  • 对远程文件和文件夹的影响应该是最小的。我知道 Git 很轻,但我能做的任何事情来让它尽可能不可见都会很棒。

我已经研究过如何做到这一点,但我没有找到适合我的好解决方案(或者至少我理解对我有用)。我找到了这篇文章,但它似乎并不适合我的环境(再次,也许这是我缺乏理解): http: //mattsnider.com/develop-locally-using-git-instead-of-your -company-s-crappy-版本控制/

您可以提供的任何帮助将不胜感激。如果您提供的帮助对于知识渊博的 Git 用户(我)是可行的,我将不胜感激。要遵循的步骤和说明原因将是巨大的。

4

1 回答 1

0

如果您的雇主已经有一个成熟的版本控制系统,可以处理公司需要存储的所有不同的人工制品(这不仅仅是源代码),那么甚至不要尝试实际更改他们的系统。

问题更多是关于如何帮助自己,这取决于您对个人存储和网络存储的访问级别 - 后者由其他人维护。

假设你有本地存储,那么你可以在你自己的本地源代码副本中设置一个 git 存储库。然后,您将在/您的网络驱动器上设置一个遥控器作为您的备份。(如您参考的博客中所述)。

我在开发中使用(各种)Git-for-Windows、Git-Gui、gitk 和 Git 扩展,以便我可以为任何特定任务选择和混合最佳工具/命令。我发现它对我的 Matlab 开发特别有用,因为它在(我的那种)系统工程中很常见,它具有快速的交互式编辑-修复-更新。

当我在提交中有一个稳定版本时,我想将其发送回公司 VCS,然后我可以将其签出/返回(或任何他们的流程要求)到他们的系统(标记该提交)。

同样,如果您需要从他们的 VCS 更新另一个文件,您应该有一个分支来接收它的结帐,然后合并回您的开发分支(或任何最适合您的流程)。

定期将您的本地存储库推送到您的裸网络存储库,以便您拥有备份和一些安全性。如果需要,您可以随时捆绑您的存储库,或归档其他备份所需的提交。

于 2013-11-01T23:19:42.660 回答