相关疑难解决方法(0)

Perforce值得吗?

我的一位同事对PerForce的可能性感到兴奋(我们基本上需要在后勤上对补丁和更改进行分组,并且本机上的SCM支持非常好).我们目前使用CVS,并对所有可能性开放.我们只有少数使用纯Eclipse并使用ant脚本运行构建的开发人员.

在跳入水中之前,我想听听其他技术原因可以说"好主意"或"坏主意"的人.我也想知道这在你的日常工作中是多么的干扰.


编辑2011:仅供记录.我们迁移到git - 决定性的因素是我们使用Eclipse和eclipse.org用于git,因此我们最终可以期待非常好的IDE集成.我们有点早了 - 直到今年夏天的Eclipse 3.7.今天git在Eclipse中非常好用.


编辑2015:事实证明,git最终成为无可争议的赢家,这得益于github和一般的IDE支持,结合Maven最终使Java项目与IDE无关.

java eclipse git mercurial perforce

19
推荐指数
3
解决办法
3777
查看次数

使用eclipse进行单人项目的版本控制?

我目前正在研究几个项目(至少开发部分只由我完成:).将Eclipse与不同的Java,R,SQL和其他源文件一起使用我想知道什么版本的控制系统最适合我.

当时Eclipse IDE的历史似乎已经足够了,但我不确定这是否会在一个月/一年内成立......

你会推荐什么解决方案?为什么?

更确切地说:如果我决定使用完整版控制系统,我肯定会使用SVN或git.但我不确定是否有必要......

small update: has the release of Eclipse Helios added new opinions?
Run Code Online (Sandbox Code Playgroud)

java eclipse version-control project-management r

17
推荐指数
3
解决办法
1万
查看次数

如何存储和计算版本控制历史记录?

考虑这个简单的python代码,它演示了一个非常简单的版本控制设计:

def build_current(history):
    current = {}
    for action, key, value in history:
        assert action in ('set', 'del')
        if action == 'set':
            current[key] = value
        elif action == 'del':
            del current[key]
    return current

history = []
history.append(('set', '1', 'one'))
history.append(('set', '2', 'two'))
history.append(('set', '3', 'three'))
print build_current(history)
history.append(('del', '2', None))
history.append(('set', '1', 'uno'))
history.append(('set', '4', 'four'))
print build_current(history)
for action, key, value in history:
    if key == '2':
        print '(%s, %s, %s)' % (action, key, value)
Run Code Online (Sandbox Code Playgroud)

请注意,通过使用历史列表,您可以在曾经存在的任何状态下重建当前字典.我认为这是一个"前向构建"(缺少一个更好的术语)因为要构建当前字典,必须从头开始并处理整个历史列表.我认为这是最明显和最直接的方法.

正如我所听到的,早期版本控制系统使用了这种"前向构建"过程,但它们并不是最佳的,因为大多数用户更关心构建的最新版本.此外,当用户只关心查看最新版本时,他们不想下载整个历史记录.

那么我的问题是,在版本控制系统中存储历史记录还有哪些其他方法?也许可以使用"向后构建"?这可能允许用户仅下载最近的修订版而不需要整个历史记录.我还看到了一些用于存储历史记录的不同格式,即:变更集,快照和补丁.变更集,快照和补丁之间有什么区别? …

python svn git version-control mercurial

11
推荐指数
3
解决办法
1512
查看次数

对于实际上从未分发过的团队,分布式版本控制有哪些优势?

远程工作时,我们的团队只能通过远程桌面访问我们的办公室PC中的源代码,因此我们永远不会真正在离线模式下工作.像Mercurial或Git这样的分布式版本控制系统是否仍然优于我们当前的集中式Subversion设置?如果是这样,他们是什么?有任何缺点或陷阱吗?我已经在许多地方看到,转向分布式版本控制需要改变思维.有人可以解释在这方面需要改变什么吗?

version-control

10
推荐指数
1
解决办法
3161
查看次数

Git - 掌握术语

好的,所以我通过了git教程介绍,我知道如何:

  • 创建一个空的本地.git对象数据库
  • 将整个当前工作目录的内容添加到其中
  • 提交补充(s)
  • 命名一个分支
  • 创建一个远程存储库
  • .

但是经历了最初的学习过程,我遇到了很多新的术语.我觉得理解这些术语的确切含义对于在使用实时项目时不会犯下不可逆转的错误至关重要.

你能否推荐一个有条不紊地学习关键术语含义的好资料来源,例如origin,master,commit vs. push,refs,heads,clone with checkout等?

git terminology

9
推荐指数
2
解决办法
3231
查看次数

将git分支连接到GitHub fork

我来自git via terminal,而不是GitHub,我想知道如何在两者之间建立联系.

从我结账,我通过运行此命令在终端创建了一个分支: git checkout -b newbranchname

根据我的理解,GitHub称之为"分叉".如何将我的盒子上的分支连接到GitHub上的结账分支?

(提前谢谢你的帮助.我的背景是大约1.5年的颠覆.)

git branch github git-svn

8
推荐指数
1
解决办法
4614
查看次数

ProGit书中的箭头方向

为什么在Pro Git书中显示提交队列的所有图像导致相反的方向?

git

6
推荐指数
2
解决办法
2451
查看次数

使用git和符号链接的基于组件的Web项目目录布局

我正在计划我的linux/apache/php web项目的目录结构,如下所示:

只会www.example.com/webroot/暴露在阿帕奇

www.example.com/
  webroot/
    index.php
    comp1/
    comp2/
  component/
    comp1/
      comp1.class.php
      comp1.js
    comp2/
      comp2.class.php
      comp2.css
  lib/
    lib1/
      lib1.class.php
Run Code Online (Sandbox Code Playgroud)

component/lib/目录将只在PHP路径.

为了使webroot目录中的css和js文件可见,我计划使用符号链接.

  webroot/
    index.php
    comp1/
      comp1.js (symlinked)
    comp2/
      comp2.css (symlinked)
Run Code Online (Sandbox Code Playgroud)

我尝试遵循以下原则:

  • 按组件和库布局,而不是按文件类型而不是"公共"或"非公共",index.php是一个例外.这是为了更容易开发.
  • 公开onle公共Web目录中的最小文件集,并使其他所有内容无法访问Web.将组件和库需要公开的文件符号化到公共位置,但仍然镜像布局.因此,组件和库结构也可以在链接中生成的html代码中看到,这可能有助于开发.
  • git的使用应该是安全的并且始终有效.可以按照一些程序将符号链接添加到git中,但是在检查完它们之后,应该安全地处理更改分支.

git如何正确处理单个文件的符号链接,有什么需要考虑的吗?

说到图像,我需要链接目录,如何用git处理?

  component/
    comp3/
      comp3.class.php
      img/
        img1.jpg
        img2.jpg
        img3.jpg
Run Code Online (Sandbox Code Playgroud)

它们应该链接在这里:

  webroot/
    comp3/
      img/ (symlinked ?)
Run Code Online (Sandbox Code Playgroud)

如果使用符号链接有缺点,我可以直接将图像移动到webroot/tree,这将打破第三个原则(git实用性).

所以这是一个git和符号链接问题.但我有兴趣听听有关php布局的评论,也许你想使用评论功能.

linux git symlink

6
推荐指数
1
解决办法
1834
查看次数

如何可视化版本控制系统的示例?

我的商店正在尝试为我们维护的OSS产品正式化发布管理流程(编辑:使用SVN进行版本控制).它是一种Web开发框架/ CMS类型的东西,因为它是一个其他项目建立在其上的产品.这使得关于版本控制系统的清晰沟通对于使用该工具的开发人员尤其重要.

我希望找到一些如何最好地绘制这个系统的示例,以便我们可以在内部和外部开发人员之间更好地进行沟通.我知道有很多关于版本控制的标准和最佳实践,所以我希望这也扩展到某种视觉词汇.举个例子,http://en.wikipedia.org/wiki/Versioning#Software_Versioning_schemes上有一个漂亮的图表.是否有关于如何设计这些类型的东西的指南?

versioning version-control project-management visualization release-management

6
推荐指数
1
解决办法
526
查看次数

具有分层访问控制的存储库的SVN或Git

对于需要只能访问存储库特定部分的开发人员的商业项目,您推荐哪一个?

开发IDE是Eclipse

编程语言是C/C++

该要求的主要功能是:对存储库的权威和ACL分层访问

c c++ version-control

6
推荐指数
1
解决办法
590
查看次数