Questions tagged «version-control»

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

12
标签与Git中的分支有何不同?我应该在这里使用哪个?
我有一些困难,了解如何使用标签与分支在吉特。 我只是将代码的当前版本从 简历 至 吉特,现在我将为特定功能处理该代码的子集。其他一些开发人员也将对此进行研究,但并非我们小组中的所有开发人员都将在意此功能。我应该创建分支还是标签?在什么情况下我应该使用一种而不是另一种?


18
什么是Git最好的视觉合并工具?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 28天前关闭。 在Git中查看和编辑合并的最佳工具是什么?我想要一个三向合并视图,在单独的面板中有“ mine”,“ theirs”和“ ancestor”,以及第四个“ output”面板。 同样,调用该工具的说明也很棒。(我仍然没有弄清楚如何以不给我错误的方式启动kdiff3。) 我的操作系统是Ubuntu。

30
您是否对数据库项目使用源代码管理?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 我觉得我的店有个漏洞,因为我们没有适当的过程来版本化数据库架构更改。我们进行了大量备份,因此我们或多或少都得到了保障,但是以这种方式依赖您的最后一道防线是不明智的做法。 令人惊讶的是,这似乎是一个常见的话题。我说过的许多商店都忽略了这个问题,因为它们的数据库不经常更改,并且基本上只是在尝试细致。 但是,我知道那个故事是怎么回事。事情排错了一切,丢失了东西只是时间问题。 是否有最佳做法?有哪些对您有用的策略?

5
如何更新派生仓库中的拉取请求?
因此,我首先分叉了一个存储库,然后提交了该分叉的存储库。然后,我打开了请求请求。拉取请求列出了我想要的所有更改。 审核我的请求请求后,回购所有者希望我在接受之前进行许多更改。我已经在fork中进行了这些更改,现在如何使用这些更改来更新pull请求(或者这不是我应该如何处理)?

21
在版本控制下使用IPython笔记本
使IPython笔记本保持版本控制的好策略是什么? 笔记本格式非常适合版本控制:如果要对笔记本及其输出进行版本控制,则效果很好。当人们只希望对输入进行版本控制时,就会感到烦恼,不包括可能是大型二进制Blob(尤其是电影和情节)的像元输出(又称“生成产品”)。特别是,我试图找到一个好的工作流程: 让我可以选择是包含还是排除输出, 防止我不想要我的输出, 允许我将输出保持在本地版本中, 允许我使用版本控制系统查看何时更改了输入(即,如果仅对版本进行控制,但是本地文件具有输出,那么我希望能够查看输入是否已更改(需要提交) )。由于本地文件具有输出,因此使用version control status命令将始终记录差异。) 允许我从更新的干净笔记本中更新我的工作笔记本(包含输出)。(更新) 如前所述,如果我选择包括输出(例如,在使用nbviewer时是理想的),那么一切都很好。问题是,当我不想要的版本控制输出。有一些工具和脚本可用于剥离笔记本的输出,但是我经常遇到以下问题: 我不小心用输出提交了一个版本,从而污染了我的存储库。 我清除了输出以使用版本控制,但实际上宁愿将输出保留在我的本地副本中(例如,有时需要一段时间才能重现)。 与Cell/All Output/Clear菜单选项相比,某些剥离输出的脚本会稍微改变格式,从而在差异中产生不必要的噪音。这可以通过一些答案解决。 将更改拉到文件的干净版本时,我需要找到某种方式将这些更改合并到我的工作笔记本中,而不必重新运行所有内容。 (更新) 我考虑了以下将要讨论的几种选择,但是还没有找到一个好的综合解决方案。完整的解决方案可能需要对IPython进行一些更改,或者可能依赖于一些简单的外部脚本。我目前使用mercurial,但是想要一个也可以与git一起使用的解决方案:理想的解决方案是版本控制无关的。 已经多次讨论了此问题,但是从用户的角度来看,没有确定的或明确的解决方案。这个问题的答案应该提供确定的策略。如果需要最新的(甚至是开发的)IPython版本或易于安装的扩展,那就很好。 更新:我一直在使用修改过的笔记本版本,该.clean版本可以使用Gregory Crosswhite的建议每次保存时都保存一个版本。这满足了我的大部分约束,但以下问题尚未解决: 这还不是标准解决方案(需要对ipython源进行修改。是否可以通过简单的扩展来实现此行为?需要某种保存上的钩子。 我当前的工作流程存在一个问题,就是要进行更改。这些将进入.clean文件,然后需要以某种方式集成到我的工作版本中。(当然,我总是可以重新执行笔记本,但是这可能会很痛苦,尤其是如果某些结果取决于长时间的计算,并行计算等时。)关于如何解决这个问题我还没有个好主意。也许涉及像ipycache这样的扩展程序的工作流程可能会起作用,但这似乎有点太复杂了。 笔记 移除(剥离)输出 笔记本计算机运行时,可以使用Cell/All Output/Clear菜单选项删除输出。 有一些脚本可以删除输出,例如脚本nbstripout.py可以删除输出,但不会产生与使用笔记本界面相同的输出。最终将其包含在ipython / nbconvert存储库中,但已关闭,说明更改已包含在ipython / ipython中,但似乎尚未包含相应的功能。 (更新)话虽如此,Gregory Crosswhite的解决方案表明,即使不调用ipython / nbconvert,此操作也非常容易,因此,如果可以正确地挂接,则该方法可能是可行的。(但是,将其附加到每个版本控制系统似乎不是一个好主意-应该以某种方式挂接到笔记本机制上。) 新闻组 关于版本控制的笔记本格式的思考。 问题 977:笔记本功能请求(打开)。 1280:全部清除保存选项(打开)。(此讨论之后。) 3295:自动导出的笔记本:仅导出显式标记的单元格(关闭)。扩展程序已解决11添加了writeandexecute magic(合并)。 拉取请求 1621:清除“清除所有输出”(合并)上的In []提示数字。(另请参见2519(合并)。) 1563:clear_output改进(合并)。 3065:笔记本电脑的扩散性(关闭)。 3291:添加了在保存时跳过输出单元格的选项。(已关闭)。这似乎非常相关,但是建议不要使用“清洁/涂抹”过滤器。一个相关的问题,如果要在运行git diff之前剥离输出,可以使用什么?似乎没有得到答复。 …

8
应该将composer.lock致力于版本控制吗?
我对composer.lock在带有存储库的应用程序中使用感到有些困惑。 我看到许多人说我们不应该.gitignore composer.lock从存储库中获取。 如果我在开发环境中更新库,我将拥有一个新库,composer.lock但无法将其更新到生产环境中,对吗? 它不会在该文件上产生冲突吗?

12
使用Git管理大型二进制文件
我正在寻找有关如何处理源代码(Web应用程序)所依赖的大型二进制文件的意见。我们目前正在讨论几种替代方法: 手动复制二进制文件。 优点:不确定。 相反:我强烈反对这一点,因为它在建立新站点/迁移旧站点时增加了出错的可能性。建立另一个障碍。 用Git管理它们。 专业版:消除了“忘记”复制重要文件的可能性 相反:膨胀存储库并降低管理代码库的灵活性,而检出,克隆等将花费相当长的时间。 单独的存储库。 优点:签出/克隆源代码比以往任何时候都快,并且图像已正确存储在其自己的存储库中。 相反:消除了在项目上拥有唯一的 Git存储库的简单性。它肯定会引入其他我从未想过的东西。 您对此有何经验/想法? 另外:是否有人在多个Git存储库中进行过管理并在一个项目中进行管理? 这些文件是程序的图像,该程序会在其中生成包含这些文件的PDF。文件不会经常更改(像几年一样),但是它们与程序非常相关。没有文件,该程序将无法运行。

11
Git和Mercurial-比较和对比
一段时间以来,我一直在为个人项目使用subversion。 我越来越多地听到有关Git和Mercurial以及DVCS的很棒的事情。 我想稍微谈一下整个DVCS,但是我对这两种选择都不是很熟悉。 Mercurial和Git之间有什么区别? 注意:我不是要找出哪一个是“最佳”,甚至我应该从哪一个开始。我主要是在寻找相似之处和不同之处的关键领域,因为我很想知道它们在实现和理念上如何不同。

7
Gemfile.lock是否应包含在.gitignore中?
我对捆绑程序及其生成的文件有点陌生。我有一个来自GitHub的git repo的副本,很多人对此都做出了贡献,因此我很惊讶地发现捆绑程序创建的文件在该repo中不存在,并且不在.gitignore列表中。 由于已经分叉了,所以我知道将它添加到仓库中不会破坏主仓库的任何内容,但是如果我执行拉取请求,会不会引起问题? 应该Gemfile.lock包含在资源库中吗?

14
如何将Git用于Unity3D源代码管理?
是Stack Overflow上的堆栈:КакиспользоватьGitдляконтроляверсий是Unity3D吗? 将Git源代码控制与Unity 3D结合使用的最佳实践是什么,特别是在处理Unity 3D项目的二进制特性方面?请描述工作流程,.gitignore中将包括哪些路径,应在Unity和/或项目中设置哪些设置以及应注意的其他任何特殊事项。 注意:我意识到使用Asset Server是Unity推荐的方式,但是出于多种原因,我想使用Git。请不要说出任何答案,也不要说我应该只使用资产服务器。资产服务器确实不是我的选择。

4
在Git中,HEAD,工作树和索引之间有什么区别?
有人可以告诉我git中HEAD,工作树和索引之间的区别吗? 据我了解,它们都是不同分支的名称。我的假设正确吗? 编辑 我找到了这个 单个git存储库可以跟踪任意数量的分支,但是您的工作树仅与其中一个分支(“当前”或“签出”分支)相关联,并且HEAD指向该分支。 这是否意味着HEAD和工作树始终相同?


9
如何使git始终从特定分支中提取?
我不是git master,但是我已经和它一起工作了一段时间了,并且有几个不同的项目。当然,在每个项目中,从那时git clone [repository]起,我始终可以git pull,并且只要没有特别的变化,我就可以始终如此。 最近,我不得不还原到上一个分支,并使用进行了此操作git checkout 4f82a29。当我再次准备拉动时,我发现必须将分支设置回master。现在,我不能使用直线git pull,而是必须指定git pull origin master,这很烦人,并向我表明我不完全了解发生了什么。 发生了什么变化,这使我无法在git pull不指定原点大师的情况下进行平直比赛,以及如何将其改回原样? 更新: -bash-3.1$ cat config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [branch "master"] [remote "origin"] url = git@github.com:user/project.git fetch = refs/heads/*:refs/remotes/origin/* 更新2:明确地说,我知道我的原始方法可能不正确,但是我需要修复此存储库,以便可以git pull再次使用。目前,git pull导致: -bash-3.1$ git pull You asked me …

10
在签出先前的提交后如何返回最新的提交?
有时,我会检查一些先前版本的代码以进行检查或测试。我已经看到了有关要修改以前的提交的说明,但是假设我没有进行任何更改。完成例如以后git checkout HEAD^,如何返回分支的尖端?.. git log不再向我显示最新提交的SHA。

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.