Questions tagged «version-control»

版本控制是对文档,程序和其他存储为计算机文件的信息的更改的管理。使用此标记可以标记有关版本控制,VCS比较的用法和适用性的一般问题。对于特定于每个特定VCS的大多数命令和技术,都有特定的标签,应该优先使用。



6
命名分支与多个存储库
我们目前正在相对较大的代码库上使用Subversion。每个发行版都有自己的分支,并且针对主干执行修复,并使用以下命令迁移到发行分支中:svnmerge.py 我相信现在是时候进行更好的源代码控制了,并且我与Mercurial玩了一段时间。 尽管使用Mercurial管理这样的发布结构似乎有两个流派。每个发行版都有自己的存储库,并针对发行版分支进行修复,然后将其推送到主分支(以及任何其他较新的发行版分支。),或者在单个存储库(或多个匹配副本)中使用命名分支。 在这两种情况下,似乎我都可能使用诸如移植之类的方法来选择更改以包含在发行分支中。 我问你; 每种方法的相对优点是什么?

1
回购克隆后,空的Git子模块文件夹
我在https://github.com/aikiframework/json上托管了一个仓库。在本地副本上,我使用以下命令添加了一个子模块 git submodule add git@github.com:jcubic/json-rpc.git json-rpc 然后,我进行了提交和推送,更改出现在GitHub上(我可以单击它)。但是当我克隆仓库时 git clone https://github.com/aikiframework/json.git 子模块文件夹json-rpc为空。 我在这里想念什么?我忘了什么吗?为什么该文件夹为空?



5
git add *(星号)vs git add。(期)
我是git的新手,我对在git中添加文件有疑问。我发现约之间的差异多个计算器的问题git add .及git add -a,git add --all,git add -A等,但我一直无法找到解释了什么地方git add *呢。我什至查看了git add手册页,但没有帮助。我一直在用它代替git add .我的同事问我为什么。我没有答案。我一直都用过git add *。 是git add .和git add *一样吗?一个仅从当前目录添加更改的文件,而另一个仅从递归添加当前目录和子目录的文件吗? 在另一个堆栈问题中列出了一个很棒的图表,该图表显示了git add -A git add .and 之间的区别git add -u,但没有git add *。 注意:我了解使用星号作为通配符(添加具有给定扩展名的所有文件)的含义。例如,git add *.html想补充一点,有一个所有文件.html的扩展名(但忽略.css,.js等)。 谢谢您的帮助!

5
如何将本地Git分支复制到远程仓库
到目前为止,我已采取以下步骤: 克隆了一个远程Git仓库 将主分支分支到实验分支 在实验分支中编辑/测试/提交的代码 现在,我还没有准备好将实验性项目合并到主项目中。但是,我确实想将其推回远程仓库,因为那是我与一些同事共享的存储库。我希望他们看到我在实验分支中所做的事情。我通常只通过SSH访问远程仓库。 如何在远程存储库上共享我的本地分支,而又不影响远程存储库的主分支?

5
GIT和CVS之间的区别
Git和CVS版本控制系统有什么区别? 我使用CVS已有10多年了,现在我被告知Git更好。有人可以解释一下两者之间的区别是什么,为什么一个比另一个更好?
126 git  version-control  cvs 


2
获取自上一个标记以来的所有git commit
当我要标记一个提交时,我需要知道自上次标记的提交以来发生了什么变化。例如: a87a6sdf87a6d4 Some new feature a87a6sdf87a6d3 Some bug fix a87a6sdf87a6d2 Some comments added a87a6sdf87a6d1 Some merge <- v1.4.0 在此示例中,我想了解3个最新的提交,或者能够打印如上的日志,该日志显示两个提交(如果有)的标签。当我看到添加了新功能时,我将其标记为v1.5.0。 您如何处理?这是我应该如何使用标签的方式吗?我应该在标签消息中写些什么?我总是将其留空:git tag -a v1.2.3 -m ''

4
将分支合并到树干
我面临SVN的一个特殊问题merge。我想从开发分支合并到主干。我们有多个开发分支机构同时切断主干。 我使用以下命令将其中一个分支合并到中继: svn merge trunk branch_1 我看到不属于此分支的更改已合并到主干中。我究竟做错了什么 ? SVN版本: Subversion命令行客户端,版本1.6.16-SlikSvn-tag-1.6.16@1076804-WIN32。

18
从CVS迁移到Git:等效于$ Id $?
我通读了许多有关简单源代码控制工具的问题,Git似乎是一个合理的选择。我已经启动并运行它,并且到目前为止效果很好。我喜欢CVS的一个方面是版本号的自动递增。 我知道在分布式存储库中这没什么意义,但是作为开发人员,我想要/需要这样的东西。让我解释一下原因: 我使用Emacs。我会定期查看并查找第三方软件包的Lisp源文件的新版本。假设我有一个文件foo.el,根据标题,该文件的版本为1.3;如果我查找最新版本,并看到它是1.143或2.6或其他值,我知道我已经远远落后了。 相反,如果我看到几个40个字符的散列,我将不知道是哪个以后的时间,也不会知道以后的时间多少。如果我不得不手动检查ChangeLogs以了解我过时了,我绝对会讨厌它。 作为开发人员,我希望将这种礼貌扩大到使用我的输出的人员(也许我在开玩笑的是有人在,但让我们暂时搁置一旁)。我不想每次都要自己增加该死的数字,时间戳或类似的东西。那是真正的PITA,我从经验中知道这一点。 那我有什么选择呢?如果我无法获得等价的$ Id:$,我还能如何提供所需的内容? 我应该提一下,我的期望是最终用户不会安装Git,即使安装了Git,也不会有本地存储库(实际上,我希望不以这种方式提供它)。

22
是否有用于数据库结构更改的版本控制系统?
我经常遇到以下问题。 我正在对项目进行一些更改,这些更改需要数据库中的新表或新列。我进行数据库修改并继续我的工作。通常,我记得记下更改,以便可以在实时系统上复制它们。但是,我并不总是记得自己所做的更改,也并非总是记得写下来。 因此,我推动了实时系统,并收到了一个很大的明显错误,那就是没有NewColumnX,呃。 无论这可能不是这种情况的最佳实践,是否都存在数据库的版本控制系统?我不在乎特定的数据库技术。我只想知道是否存在。如果碰巧可以与MS SQL Server配合使用,那就太好了。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.