Questions tagged «version-control»

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

7
为什么在运行“ git branch -r”时显示“ origin / HEAD”?
当您运行时,git branch -r为什么会列出它origin/HEAD?例如,在GitHub上有一个远程仓库,有两个分支:master和awesome-feature。如果我git clone要抓住它,然后进入新目录并列出分支,则会看到以下内容: $ git branch -r origin/HEAD origin/master origin/awesome-feature 或采用什么顺序(阿尔法?我​​伪造此示例是为了保护无辜回购协议的身份保密)。那是什么HEAD业务?它是什么,最后一个人push有他们HEAD在尖时,他们推?难道那永远不是他们push编辑的那样吗?HEAD到处走动...为什么我要关心别人HEAD在另一台机器上指的是什么? 我只是对远程跟踪有所了解,所以这是一个挥之不去的困惑。谢谢! 编辑:我给人的印象是专用的远程存储库(例如GitHub,没有人可以ssh并处理该代码,而只有pull或push等)没有,也不应有HEAD,因为基本上有,没有工作副本。不是吗

5
您如何只推送一些本地git commit?
假设我有5个本地提交。我只想将其中2个推送到集中式存储库(使用SVN样式的工作流)。我该怎么做呢? 这不起作用: git checkout HEAD~3 #set head to three commits ago git push #attempt push from that head 最后将所有5个本地提交都推送了。 我想我可以执行git reset来实际上撤消我的提交,然后执行git stash然后执行git push,但是我已经编写了提交消息并组织了文件,并且我不想重做它们。 我的感觉是传递给推送或重置的某些标志将起作用。 如果有帮助,这是我的git配置 [ramanujan:~/myrepo/.git]$cat config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = ssh://server/git/myrepo.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] …

17
检查已删除文件的历史记录
如果我在Subversion中删除文件,如何查看其历史和内容?如果我尝试执行此操作svn cat或svn log对不存在的文件进行操作,则会抱怨该文件不存在。 另外,如果我想恢复该文件,是否应该将svn add其恢复原样? (我专门询问了Subversion,但我也想听听Bazaar,Mercurial和Git如何处理这种情况。)

8
Git克隆/拉取持续冻结在“将密钥存储在缓存中吗?”
我正在尝试从BitBucket帐户向Windows 10便携式计算机(运行GitBash)克隆存储库。我已经完成了连接所需的所有步骤(设置我的SSH密钥,并通过成功SSHing git@bitbucket.org等进行了验证)。但是,每当我尝试克隆存储库时,在确认我要缓存Bitbucket的密钥后,提示就会不断挂断。 User@Laptop MINGW64 /C/Repos $ git clone git@bitbucket.org:mygbid/test.git Cloning into 'test'... The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is. The server's rsa2 key fingerprint is: ssh-rsa 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40 If you trust this …


5
在VCS下是否应忽略Xcode5中的* .xccheckout文件?
Apple在Xcode 5中引入了与项目相关的新文件类型:“ xccheckout”。 该文件位于“ .xcodeproj / project.xcworkspace / xcshareddata /”目录中,似乎与项目的版本控制系统有关。 此处是一个示例文件:http : //pastebin.com/5EP63iRa 我想这种类型的文件在VCS下应该被忽略,但是我不确定。 所以这是问题: 应该忽略“ xccheckout”吗? 目的是什么?

8
svn:用分支替换中继
使Subversion存储库的分支之一成为新主干的最佳方法是什么? 整个系统进行了重大的重写:内容已经移动,重写,替换,删除,重命名等。重写的代码已经过测试,可以替换旧的主干了。 基本上,旧的干线(中继5)被标记了,并将在此处结束。改写后的分支(分支6)将成为新的主线(分支7): 中继(1)->中继(2)->中继(5)->×+->新中继(7) \ \ | 叉合并??? \ \ | +->分支(3)->分支(4)->分支(6)-+ 旧的“主干”中所有正在进行的更改已合并到“重写的分支”中 我怎样才能做到这一点?

13
单独数据分析师的R和版本控制
我尊重的许多数据分析师都使用版本控制。例如: http://github.com/hadley/ 请参阅http://permut.wordpress.com/2010/04/21/revision-control-statistics-bleg/ 但是,我正在评估采用git之类的版本控制系统是否值得。 简要概述: 我是一位社会科学家,他使用R来分析研究出版物的数据。我目前不生产R包。我的项目R代码通常包括几千行代码,用于数据输入,清理,操作,分析和输出生成。出版物通常使用LaTeX编写。 关于版本控制,我已经读过许多好处,但是它们似乎与单独数据分析师的关系不大。 备份:我已经有一个备份系统。 分叉和倒带:我从没有觉得有必要这样做,但是我可以看到它的用处(例如,您正在基于同一数据集准备多个期刊文章;您正在准备每月更新的报告等) ) 协作:大多数时候,我自己分析数据,因此,我无法获得版本控制的协作优势。 采用版本控制还涉及一些潜在成本: 是时候评估和学习版本控制系统了 与我当前的文件管理系统相比,可能会增加复杂性 但是,我仍然觉得自己缺少一些东西。关于版本控制的一般指南似乎更多地针对计算机科学家而不是数据分析师。 因此,特别是针对与上述情况类似的数据分析人员: 版本控制值得付出努力吗? 采用版本控制的主要利弊是什么? 使用R进行数据分析的版本控制的最佳策略是什么(例如,示例,工作流程构想,软件,指南链接)?
155 git  version-control  r 

5
维护程序集版本号的最佳实践/指南
我正在寻找有关如何管理.NET程序集的三个不同程序集版本号的指针,建议甚至指令。产品版本是最简单的,因为这通常是由业务决定的。然后,文件版本似乎用于部署之间的版本控制,其中仅在出厂时才使用实际的程序集版本。 现在,我只是在寻找一种简单的方法来标记程序集的测试和维护版本,而这些都不依赖于该程序集,因此我正在寻找文件版本上的自动递增版本号和修订版号,对于最终版本,请复制当前版本。文件版本到程序集版本。该产品已投入生产,但仍处于开发阶段-您知道-这些小型公司之一,没有变更控制基础架构的情况。

7
什么是Git的良好(免费)可视合并工具?(在Windows上)[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 一个类似的问题已经被问过,但对Ubuntu。 这将有助于了解该工具是免费的(如啤酒还是解放者)。 此外,该工具的起伏不定会很高兴知道。


6
“拒绝Git推送非快速转发更新”是什么意思?
我正在使用Git管理两台计算机和我的开发。我正在尝试将更改提交到GitHub,但出现错误。 无法将一些参照推送到<repo>。为防止您丢失历史记录,非快进更新被拒绝。合并远程更改,然后再次推送。 是什么原因造成的,我该如何解决? 编辑: 拉回购返回以下内容: *分支母版->母版(非快进)已更新 推仍然给我上述错误。

6
如何在不断变化的Git源代码管理下处理IntelliJ IDEA项目文件?
我们团队中的每个人都使用IntelliJ IDEA,我们发现将其项目文件(.ipr和.iml)放入源代码管理非常有用,这样我们就可以共享构建配置,设置和检查。另外,我们可以在TeamCity的连续集成服务器上使用这些检查设置。(我们在.gitignore文件中而不是在源代码管理中有每个用户工作区的.iws文件。) 但是,当您在IDEA中几乎执行任何操作时,这些文件几乎不会更改。在IDEA的问题数据库中存在一个问题(IDEA-64312),因此也许有人会认为这是IDEA中的一个错误,但是在可预见的将来,我们需要与它一起解决这个问题。 直到最近,我们仍在使用Subversion,但是最近我们切换到了Git。我们每个人都已经习惯于拥有一个被忽略并且不会检入的项目文件的更改列表,除非存在我们要与他人共享的项目文件更改。但是使用Git,真正的力量似乎是(根据我们的探索)它所鼓励的连续分支,并且在分支之间进行切换非常麻烦,因为项目文件总是被修改。通常,它只能以某种方式合并更改,并尝试处理现在应用于新分支的项目文件更改。但是,如果新分支更改了项目文件(例如,该分支正在其他分支中尚未使用的新模块上工作),则git只会抛出一个错误,即它不会 当两个分支都已更改并且您在本地进行更改时,合并在文件中没有任何意义,我可以理解它的意义。在命令行中,可以在“ git checkout”命令上使用“ -f”强制其抛出本地更改并使用分支的更改,但是(1)在IDEA(10.5.1)中使用Git Checkout GUI命令似乎没有这个选项可以找到,因此我们需要定期切换到命令行,并且(2)我们不确定是否要习惯于使用该选项标记并告诉Git放弃我们的本地更改。 因此,这是我们对必须处理的选项的一些想法: 将项目文件完全移出源代码管理。将它们放在.gitignore中,然后通过其他方式将它们分发给每个人和TeamCity,也许是通过将它们置于其他位置或使用其他名称的源代码控制中。我们的团队足够小,可以考虑这个选项,但这似乎并不好。 继续使用它,尝试确保在给定时间管理我们在哪个分支上拥有哪些文件。为此,我们可能鼓励每个开发人员在他们的系统上拥有每个项目的多个副本,以便他们可以将每个项目检出到可能包含不同项目文件集的不同分支。 尝试仅在源代码管理中包含项目(.ipr),而模块(.iml)文件不在源代码管理和.gitignore文件中。定期在.ipr中自动切换的主要问题是共享构建配置的顺序,但是也许我们可以单独共享有关如何设置这些信息的信息。我不太确定IDEA是如何处理这种事情的,尽管它只有一些文件,特别是在新结帐时。 我想我希望我们缺少一些显而易见的(或非显而易见的)解决方案,也许可以解决Git和IDEA似乎都具有的巨大可定制性。但是似乎我们不可能成为唯一遇到此问题的团队。是一种类似于Stack Overflow上的问题包括:3495191,1000512,和3873872,但我不知道,因为他们是完全一样的问题,也许有人能拿出的利弊我有不同的方法概述,这些问题的答案中列出的方法或它们建议的方法。

6
git selection从文件还原本地更改
在跟踪svn repo的git repo中,我对单个文件进行了多次编辑。 现在,我想还原这些更改(例如svn revert),但只还原文件的一部分。 我希望能够查看文件上的差异,放弃(还原)我不需要的更改并保留我想要的更改。 的 git add -i 命令似乎可以选择执行此操作,但是我还不想上演此操作。


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.