C# 在本地工作时使用Git与custom”结合使用;“源头控制”;

C# 在本地工作时使用Git与custom”结合使用;“源头控制”;,c#,git,visual-studio,C#,Git,Visual Studio,在工作中,我们需要使用定制的“源代码控制”系统。基本上,每当我们将新的更改推送到实时环境时,它都会对代码进行快照。除了获取上一次实时推送的副本外,没有回滚功能,也没有查看谁更改了什么的机制,而且一旦一个人正在处理代码,其他人就可以更改源代码,而您将不知道(除非您发现了更改) 我希望在这种环境中实现Git,但我对Git的方式不够明智,无法找到最好的实现方法。以下是我需要处理的要求: 源代码存储在远程文件路径上 一旦我开始一个项目,任何人都可以更改远程源(如果可能的话,我希望捕获这些更改) 在我开

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

我希望在这种环境中实现Git,但我对Git的方式不够明智,无法找到最好的实现方法。以下是我需要处理的要求:

  • 源代码存储在远程文件路径上
  • 一旦我开始一个项目,任何人都可以更改远程源(如果可能的话,我希望捕获这些更改)
  • 在我开始工作之前,源代码(通常)已经存在
  • 在我完成一个项目后,其他人可能会更改源代码(不使用Git)
  • 我将尝试让我的其他同事也参与进来
  • 我只有对远程服务器的文件读/写访问权限
  • 我的同事不喜欢命令提示符(坦率地说,我更喜欢使用GUI),因此使用GUI(比如GitHub for Windows,或者更好的是,Visual Studio中的团队资源管理器工具)将是一个优先考虑的问题
  • 我们是一家专门从事C#和ASP.NET MVC的Windows专卖店,因此任何解决方案都需要在这些范围内工作
  • 对远程文件和文件夹的影响应该最小。我知道Git很轻,但我能做的任何事情都能让它尽可能隐形,这将是非常棒的
我已经研究了如何做到这一点,但我还没有找到一个适合我的好解决方案(或者至少我知道这对我来说是可行的)。我找到了这篇文章,但它在我的环境中似乎并没有起到很好的作用(同样,可能是我缺乏理解):


如果您能给予任何帮助,我们将不胜感激。如果您提供的帮助对一个知识不丰富的Git用户(我)来说是可行的,我将非常感激。遵循的步骤和说明将是巨大的。

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

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

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

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

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

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


定期将本地回购推到裸网络回购上,这样您就有了备份和一些安全性。您可以随时捆绑您的回购协议,或者根据需要为其他备份归档提交文件。

所有真正的源代码管理系统都是免费和付费的,如果您的雇主不想使用,请帮自己一个忙@杰森:是的,远离你的问题,而不是试图解决它们。这绝对是最好的做法…@Chibbles如果他/她的雇主愿意使用一个,我相信op会建议并让他们使用一个。我不明白这是如何“逃避你的问题”,如果有一天你的雇主告诉你开始在纸上和笔上写代码,然后交给一位打字速度比你快1000倍的专业打字员,而他又不肯给你一个IDE,你认为留下来真的有意义吗?那就尽情享受吧……不过再想想……你是op的老板,不是吗!?:P是一个很棒的git图形用户界面(需要花钱);是另一个GUI(免费提供)。查看完整列表。不,@Chibbles不是我的雇主。:-)至于螺栓连接,我试图展示Git在当前环境中是如何受益的。一旦我这样做了,我想我可以慢慢地转向一个“真正的”源代码控制系统。我正在努力解决这个问题,而不是让别人来解决。是的,我建议改用Git,并演示了Git和其他源代码管理系统。到目前为止,我有兴趣,但不允许继续前进。