我有两个解决方案,它们有一些共同的代码,所以我想把它解压出来并在它们之间分享.此外,我希望能够独立发布该库,因为它可能对其他人有用.
我编写了一个类来处理我的应用程序中的内部日志记录.现在我想在另一个新的,完全独立的项目中使用这个类.
我可以简单地将文件复制到新的项目文件夹,但我希望只保留一个副本,以便其中的所有更改将适用于两个项目.
我可以使用"添加现有文件",但是我在哪里放置文件以便下一个开发人员知道它是必需的.我曾经有一个"共享"文件夹,但有一次该文件夹没有进入下一个开发计算机.
组织这个的最佳方法是什么,以便它对新的维护者最有意义,并最大限度地降低项目中断链接的风险.
我在网上看过很多"从svn转到git"和其他"git-svn工作流程"的文章,但我认为它们经常处理过于简单的情况.它们通常针对那些只想在本地使用git和hack的人,而不是使用git的全部功能,比如在多个开发人员之间使用git-svn克隆svn存储库时的pull,fetch,merge等,然后仍然希望能够随时将他们的更改推送到(官方)svn存储库,然后回到git工作并分享他们的东西等.
每当这些文章承认你不能做你在纯git中所做的一切时,后果和可能的搞砸都没有明确解释(或者也许只是我?).即使是git-svn手册页也提到了警告,但并没有真正广泛地提及.
基于我所读到的内容,我觉得当git-svn以特定方式使用时可能会出现问题,我将在下面介绍.有人可以告诉我,我是对的吗?
这是"通缉"的做事方式:
我的问题是:我在做梦吗?我前段时间读过一本git书,我认为,git-svn-clone可以创建git存储库,当然它们是svn repo的"镜像",但是不同开发人员以这种方式创建的git存储库会有所不同" ids"和提交将有不同的哈希.所以我的理解是那些git repos不会共享任何常见的git祖先,因此无法使用共享,合并等所需的所有git命令.这是真的,我们是否会面临这个工作流程的问题?
有时我读到这可以完成,至少使用一个"官方"裸git存储库,这将是唯一一个git-svn-cloned,并且所有git用户都必须从这个开始.然后你需要一个负责这个中央git仓库的人,并在将所有东西都提交给svn repo之前收集git devs之间的变化.这将是git用户"不知道"原始git repo来自svn的唯一方法,并允许他们使用所有git命令.唯一需要精通git和svn(并且了解git-svn警告)的人将是"合并经理"(或者他称之为的任何人).
我完全误解了git-svn警告吗?有没有更简单的方法呢?
我正在创建一个登录屏幕,用于多个不同的Android应用程序.打包它的最佳方法是什么,以便其他人可以在他们的应用程序上使用我的登录功能.在我们进行更改的情况下,它最好是自动同步它们.***编辑****似乎将它打包成库模块是最好的选择.如何上传这个模块,以便如果我们对这个模块进行更新,它将无缝更新,而无需从github中取出.
谢谢!
现在,在你向我提出关于SOF的重复问题之前,让我首先告诉你我正在寻找什么,我会解决其他问题和答案,以及为什么它不够.
问题#1:
我正在寻找一种方法来执行实时协作编辑,而源是在集中式源控制服务器上维护的.例如,如果Me和Joe Blow同时编辑文件X.cs,我们应该能够在输入时看到彼此的编辑.几乎就像我们坐在同一台电脑上一样.现在采取以下场景:我和Joe离线,Nimha Smith决定她想要更新一些代码.当我第二天回到网上时,我被推送了Nimha在我睡觉/离开服务器时更新的代码.
这是现场协作理念和SVN等源控制系统的结合.
解决可能的重复:
这里有一个类似的问题:.NET开发的协作编辑 - 有什么可能性,但它没有给我任何有用的东西,我将解释原因:
显然这个问题和这个问题直接关系到源控制软件,如SVN或GIT.现在,我试图让VSAnywhere和SVN一起玩得很好(SVN用于在离线时进行更改,而VSAnywhere用于在线开发人员)但它根本不起作用.
<edit>
我最近发现这个名为Collab的学士论文项目,这似乎是一个好主意,但我似乎无法让它尝试它.如果其他人有任何成功,请让我知道你做了什么.看起来如果我能让这个协作项目工作,似乎是一个很好的开始创建符合我需求的东西.
<edit2>
我也遇到了BeWeeVee,它的服务有一个Visual Studio扩展,但它的所有链接都已经死了.而CodeALike这可能是他们的替代VS实时协作有一个FAQ条目解释它的实时功能已被删除,并在"未来"将被重新执行.
问题2:
现在这将我带到问题的第二部分,因为我完全意识到可能没有适合我的高级订单的程序.我在哪里可以开始自己实现这样的软件?是否有一些现有的开源源代码控制/实时编辑代码,我可以开始构建它来创建它?或者如果我想实现这个,我几乎从头开始陷入困境.而且我确信你可以通过标签看到我想在C#中处理这样的任务,如果我必须解决的话.
由于在评论中表达了一些持续的兴趣,我已经创建了一个gitter,我们可以聚集所有感兴趣的人,并可能使这成为现实:https://gitter.im/sof-centrailized-collab-editing/Lobby .
c# version-control real-time visual-studio-2010 code-sharing
我们有一个相当丰富的电子学习应用程序,主要使用cocos2d构建.目前我们处于alpha状态并希望设置我们的项目结构,因此我们还可以构建一个Mac版本来定位Mac App商店.在UIKit中有大约80%的cocos2d和一些初始屏幕,必须移植到Mac(重写).
从单个代码库中定位Mac和iOS应用商店的建议设置是什么?我假设选择是:
更复杂的是,我们目前使用cocos2d作为iOS应用程序的静态库.我们还有一个名为CoreInfrastructure的库,它包含我们在所有项目中使用的大量代码.最近我发现我可以创建一个项目来同时构建一个面向Mac的框架和一个基于相同代码库的iOS库.这是通过从框架项目开始并添加目标来为iOS构建静态库来完成的.
所以只是想得到每个人的意见和见解.有人知道在上述选择中要注意的任何警告吗?任何为Mac和iOS应用程序商店构建的人都会同时分享他们的结构吗?在我们的库代码上添加一个目标...是应用程序的方法吗?
是否存在任何选择存档和分发版本的问题?
提前致谢.
我有一个包含Silverlight 4和WPF 4解决方案的解决方案.一个是应用程序的Web版本,一个是桌面版本.
这两个项目都有类似的域类和接口,都可以访问云存储和其他东西.
我想创建一个通用的Interfaces和Classes项目,所以我创建了一个类库,但是你不知道它,Silverlight不能添加对类库的引用.所以我创建了一个公共项目作为Silverlight类库,但是当我从WPF项目中引用它时,我收到警告:
Warning The project 'Interface.Common.Silverlight' cannot be referenced. The referenced project is targeted to a different framework family (Silverlight)
当我使用该库中的任何类时,我甚至得到类加载运行时错误,因为"在运行时找不到System.Windows"
我想在两个项目之间共享代码,如何以一种干净的方式实现这一目标?
谢谢你提供的所有帮助
是否有人向我解释使用便携式类库而不是使用"添加为链接"的优势是什么?
谢谢
我有两个紧密相关的项目(A和B),它们共享一些源代码(S).它们都将同时发布,发布的版本应始终使用相同版本的共享代码.共享代码S将经常合理地更改.
所以,有时会看起来像这样:
使用git(和/或一些使用git的工具)处理此问题的最佳方法是什么?
以下是我的担忧:
据我所知,其中一个规范的答案是"使用git submodule ".但是,我读到了一些关于这种方法的批评.我觉得它更适合共享很少改变的库.
我读到的另一种方法是使用git子树
处理此类代码共享的最佳方法是什么?
我有一个现有的Durandal应用程序,实际上是两个应用程序纠缠在一起.
我想重写Angular中的应用程序,并希望区分应用程序共享公共代码.
我估计大约80%的代码可以共享.
如果可能的话,我想使用angular-cli.但我真的在寻找如何在Angular应用程序之间共享代码的最佳实践.