Articles of 版本控制

使用GIT在本地和活动服务器之间同步网站文件?

假设我有两台Web服务器,一台本地开发,一台现场。 在SVN下,我会将网站文件检出到我的本地networking服务器的public_html目录以及实时networking服务器的public_html目录中。 然后,我将直接在本地服务器上处理文件,并将任何更改提交到中央存储库。 当我准备好将这些更改发布到实时服务器上时,我将SSH进入并执行SVN更新。 基本上我有两个工作副本,一个在现场,一个在本地,但其他用户也可能在本地机器上有工作副本。 但在现场服务器上只会有一个工作副本。 这样做的原因是我们可以在每次我们希望发布更改时在活动服务器上执行SVN更新。 如何使用GIT来完成类似的工作stream程?

同步两个VOB文件(通过clearfsimport),而不检查更新的文件

我正在使用以下命令从A vob同步B vob文件 clearfsimport -master -follow -nsetevent -comment $2 /vobs/A/xxx/*.h /vobs/B/xxx/ 它工作正常。 但它会自动检查所有更改。 有没有办法做同样的任务,但离开更新文件在检出状态? 我想从A更新文件B.构build我的程序,然后重新覆盖分支。 所以如果更新的文件是一个退房状态,我可以稍后做unco。 那么我的命令在之前,一切都被检入。那时我不能重新覆盖我的分支。 谢谢。 正如VonC所说,不可能阻止“clearfsimport”进行检查。他build议使用标签恢复。 对我来说,我所做的“clearfsimport”分支是从一个标签分支的,我们称之为LABEL_01。 所以我想我可以使用该标签进行恢复。 有没有简单的方法(一个命令)恢复/ VOB / B / XXX /下的文件来标签LABEL_01? 我想在我的bash脚本中这样做,所以命令越简单越好。 谢谢。

git说一切都是最新的

首先,我是使用git的noob。 我正在做一个项目,做了一个提交,并推送到远程github存储库。 但是,后来我意识到我犯了一些错误,所以我做了$ git –amend -am“我的信息” 现在,由于出现错误,我无法再次将它推送到远程服务器。 所以,我想删除远程github回购&重新创build相同的名称相同。 现在,当我试图推动,它说“一切都是最新的”。 请指导我如何解决这个问题?

在Debian上升级Subversion 1.4.3到1.5.2(托pipe账户)

我正在尝试升级我的Subversion服务器(我使用Dreamhost托pipe它) 这是我运行的: wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.bz2 wget http://subversion.tigris.org/downloads/subversion-deps-1.5.2.tar.bz2 tar -xjf subversion-1.5.2.tar.bz2 tar -xjf subversion-deps-1.5.2.tar.bz2 cd subversion-1.5.2 ./configure –prefix = / usr / bin –with-libs = / usr / bin / openssl –with-ssl 但是由于这个错误,我无法继续下去: 检查C编译器的默认输出文件名… configuration:错误:C编译器不能创build可执行文件 查看` config.log '了解更多细节。 configuration霓虹灯失败 由于我不是Linux的专家,我不知道如何继续。 所以问题是:什么是最好的升级方式(考虑到这个托pipe提供商的限制)。 更新: config.log的内容可以在这里看到 (不知道在这里显示文件的最佳方式) 更新: 我似乎一直在看错误的config.log文件。 我应该一直在看subversion.1.5.2 / neon / config.log

如何在更新时反映与主人更换叉?

假设我从Github分叉了一个repo,现在有两个项目源,一个是所有者资源库中的主要分支,另一个是我的fork中的主分支。 现在我遇到了这样的问题。 假设在我的项目中有一个像这样的代码的文件自述文件 主题完成 – [ ] Introduction – [ ] [The Evolution of topic name(video)] – [ ] [Background story] – [ ] [Improvements] – [ ] [Problems] – [ ] [COnclusion] 所以我已经分叉我的回购和每个主题完成后,我会标记一个X,并保存在我的本地回购这样的文件。 – [X] Introduction – [X] [The Evolution of topic name(video)] – [ ] [Background story] – [ ] [Improvements] – [ […]

SVN签出失败,“块分隔符无效” – 可以做什么?

在结帐中间( http://aima-java.googlecode.com/svn/trunk/ ),客户端停止,出现错误,确切的错误信息如下: org.tigris.subversion.javahl.ClientException: RA layer request failed svn:REPORT of '/svn/svn/vcc/default': Chunk delimiter was invalid 我GOOGLE了错误,但无法find解决scheme。 我现在唯一知道的是这个问题是由不兼容的svn版本造成的。 我从普通的Ubuntu的回购使用svn 1.6.12 。 这个错误对多个客户端来说是可重现的(在Eclipse和RabbitVCS上testing),因为它们都使用相同的后端。 对于如何处理这个问题有什么build议,并避免将来呢? 谢谢

在Linux上使用Team Explorer Everywhere设置工作区

我在使用Team Explorer Everywhere命令行客户端(TEE-CLC-10.0.0)创build工作区和从Team Foundation Server下载文件时遇到困难。 我已经得到了创build工作区: $ ../tfs/TEE-CLC-10.0.0/tf -login:secretUsername,secretPassword -server:http://secretHost:8080 workspace -new KOLOBI Workspace 'KOLOBI2' created. 然后我想从服务器下载文件到我的工作区: $ ../tfs/TEE-CLC-10.0.0/tf -login:secretUsername,secretPassword -server:http://secretHost:8080 get -recursive -all -force . An argument error occurred: Items must reside in a workspace that has been previously used on this computer. 我想我错过了一个步骤是将本地目录添加到工作区或类似的东西。 但我不知道如何做到这一点能够下载文件。

如何从Linux访问Team Foundation Server(TFS)

如果这个问题不是特定于VCS的(因此是程序员比系统pipe理员更了解的那种),那么我会问服务器故障或超级用户。 也就是说,我如何从Linux访问TFS? 是否有一个客户端应用程序可以运行在Linux上,或者也许是一个TFS到SVN的桥梁,可以在Windows上运行,并通过Linux上的SVN访问?

为相关文件中的新版本提供版本号(文档)

我会有兴趣知道你在那里如何处理新版本问题的版本号。 如何处理相关文件(如手册页等)中的版本号 该软件是用gnu工具链构build的,所以autoconf,automake等等可用于应用程序的版本号。 这样的信息可以被重复使用。 git被用作vcs。 一种可能性是在Makefile.am中引入一个额外的新目标,该目标执行sed / awk来replace所有关联文件中的版本号和date。 这个目标可以在新版本开发的开始(分支之后)被调用一次。 然后,项目可以build立正确的信息时,人们会做项目的git克隆或释放tarball完成。 当然,开始开发新版本时,必须记得运行这个目标。 另一个select是用dist钩子来执行sed / awkreplace。但是这会让项目的git仓库处于一种状态,没有正确的版本号码与关联的文件相关联。 我更喜欢做第一个解决scheme,因为它也logging了git历史中的正确版本号。 在进行sed / awkreplace时,你更喜欢使用“in-file”还是使用autoconf / automake工具中的模板in-file。 我看到两种方法的优点和缺点。 你如何处理关联文件的版本控制 。 在开发阶段开始的时候是否改变它们,在出货之前是否改变它们,你们是做replace还是更喜欢使用模板? 谢谢。

有没有一个可以接受的git-svn的Linux目标客户端?

我的雇主使用颠覆版本控制,这是不太可能改变。 我有兴趣了解更多关于git的知识,并使用git-svn与我的雇主的Subversion版本库进行交互。 我的问题是:如果我开始使用git-svn,我需要从命令行执行一些还是全部的版本控制工作? 还是有一个(Linux)的GUI客户端,可以执行所有的git-svn相关的任务,我将需要? 更新:根据迄今为止的答案,似乎没有git-svn的GUI客户端。 不过,我想请注意Giggle GUI客户端的这个特性请求 ,以certificate这样的function有一些兴趣。 希望在未来的几个月里,可以在这个问题上增加一个积极的答案。 (事实上​​,我认为在不久的将来,与颠覆交互的最佳方式可能是使用GUI客户端来进行混帐!) 更新2:最近发布的2.1版本的SmartGit完全支持Git / SVN集成。 这certificate至less有一个GUI客户端允许Git和SVN一起使用。 可能还有更多。