标签: version-control

从GitHub下载单个文件

我猜大多数人,开发人员,使用任何VCS,我希望你们中的一些人使用Git.您是否有任何提示或技巧如何获取存储库中单个文件的下载URL?

我不想要显示原始文件的URL; 在二进制文件的情况下它是无用的.

http://support.github.com/discussions/feature-requests/41-download-single-file

甚至可以将GitHub用作"下载服务器"吗?

如果我们决定切换到Google代码,那么此处提供的功能是什么?

或者是否有开源项目的免费托管和VCS?

git version-control github

564
推荐指数
19
解决办法
80万
查看次数

在版本控制下使用IPython笔记本

IPython笔记本电脑置于版本控制之下的好策略是什么?

笔记本格式非常适合版本控制:如果想要版本控制笔记本和输出,那么这非常有效.当人们只想对输入进行版本控制时,就会产生烦恼,不包括可能是大型二进制blob的单元格输出(也就是"构建产品"),特别是对于电影和情节.特别是,我试图找到一个良好的工作流程:

  • 允许我选择包括或排除输出,
  • 如果我不想要它会阻止我意外地提交输出,
  • 允许我保持我的本地版本的输出,
  • 允许我看看当我使用我的版本控制系统更改输入时(即如果我只对版本控制输入但我的本地文件有输出,那么我希望能够看到输入是否已更改(需要提交) ).使用版本控制状态命令将始终注册差异,因为本地文件有输出.)
  • 允许我从更新的干净笔记本更新我的工作笔记本(包含输出).(更新)

如上所述,如果我选择包含输出(例如,在使用nbviewer时这是可取的),那么一切都很好.问题是,当我想要的版本控制输出.有一些工具和脚本可以剥离笔记本的输出,但我经常会遇到以下问题:

  1. 我不小心提交了一个带有输出的版本,从而污染了我的存储库.
  2. 我清除输出以使用版本控制,但实际上宁愿将输出保留在我的本地副本中(例如,有时需要一段时间来重现).
  3. Cell/All Output/Clear菜单选项相比,剥离输出的一些脚本会稍微改变格式,从而在差异中产生不必要的噪声.这可以通过一些答案来解决.
  4. 当将更改提取到文件的干净版本时,我需要找到一些方法将这些更改合并到我的工作笔记本中而无需重新运行所有内容. (更新)

我已经考虑过几个选项,我将在下面讨论,但还没有找到一个很好的综合解决方案.完整的解决方案可能需要对IPython进行一些更改,或者可能依赖于一些简单的外部脚本.我目前使用mercurial,但想要一个也适用于git的解决方案:理想的解决方案是版本控制不可知.

这个问题已经多次讨论过,但从用户的角度来看,没有明确或明确的解决方案.这个问题的答案应该提供明确的策略.如果它需要最近的(甚至开发)版本的IPython或一个易于安装的扩展,这很好.

更新:我一直在玩我修改过的笔记本版本,可以选择.clean使用Gregory Crosswhite的建议保存每次保存的版本.这满足了我的大多数约束,但是仍然没有解决以下问题:

  1. 这还不是一个标准的解决方案(需要修改ipython源.有没有办法通过简单的扩展来实现这种行为?需要某种on-save钩子.
  2. 我对当前工作流程的一个问题是拉动变化.这些将进入.clean文件,然后需要以某种方式集成到我的工作版本中.(当然,我总是可以重新执行笔记本,但这可能会很痛苦,特别是如果某些结果取决于长时间的计算,并行计算等).我还不知道如何解决这个问题.也许涉及像ipycache这样的扩展的工作流可能会起作用,但这似乎有点过于复杂.

笔记

删除(剥离)输出

  • 笔记本电脑运行时,可以使用Cell/All Output/Clear菜单选项删除输出.
  • 有一些用于删除输出的脚本,例如删除输出的脚本nbstripout.py,但不会产生与使用笔记本界面相同的输出.这最终包含在ipython/nbconvert repo中,但是已经关闭,说明这些更改现在包含在ipython/ipython中,但相应的功能似乎还没有包含在内. (更新)话虽如此,Gregory Crosswhite的解决方案显示这很容易做到,即使没有调用ipython/nbconvert因此,如果可以正确地连接它,这种方法可能是可行的.(然而,将它附加到每个版本控制系统似乎不是一个好主意 - 这应该以某种方式挂钩到笔记本机制.)

新闻组

问题

version-control ipython jupyter-notebook

548
推荐指数
14
解决办法
6万
查看次数

Git和Mercurial - 比较和对比

有一段时间我一直在为我的个人项目使用subversion.

我越来越多地听到关于Git和Mercurial以及DVCS的一般情况.

我想给整个DVCS带来一些旋转,但我对这两种选择都不太熟悉.

Mercurial和Git有什么区别?

注意:我不是要找出哪一个是"最好的",甚至不应该从哪个开始.我主要寻找他们相似的关键领域,以及他们不同的关键领域,因为我有兴趣知道他们在实施和理念方面有何不同.

git version-control mercurial dvcs

518
推荐指数
10
解决办法
4万
查看次数

使用Git管理大型二进制文件

我正在寻找如何处理我的源代码(Web应用程序)所依赖的大型二进制文件的意见.我们目前正在讨论几种选择:

  1. 手动复制二进制文件.
    • 亲:不确定.
    • Contra:我强烈反对这一点,因为它增加了在设置新站点/迁移旧站点时出错的可能性.建立另一个障碍.
  2. Git管理所有这些.
    • 专业:删除'忘记'复制重要文件的可能性
    • 反对:膨胀存储库并降低管理代码库和检出,克隆等的灵活性将需要相当长的时间.
  3. 单独的存储库.
    • Pro:检查/克隆源代码的速度很快,图像可以在自己的存储库中正确存档.
    • Contra:删除了在项目中拥有唯一的 Git存储库的简单性.它肯定会介绍一些我没有想过的其他事情.

您对此有何体验/想法?

另外:有没有人有多个Git存储库的经验并在一个项目中管理它们?

这些文件是程序的图像,该程序生成包含这些文件的PDF.文件不会经常更改(如年份),但它们与程序非常相关.没有文件,程序将无法运行.

git version-control binaryfiles large-files

517
推荐指数
10
解决办法
18万
查看次数

composer.lock应该提交版本控制吗?

我对composer.lock使用存储库的应用程序感到困惑.

我看到很多人说我们不应该.gitignore composer.lock从存储库中.

如果我在我的开发环境中更新我的库,我将有一个新的,composer.lock但我将无法将它们更新到生产中,是吗?

它不会在这个文件上产生冲突吗?

git version-control composer-php

497
推荐指数
5
解决办法
12万
查看次数

Gemfile.lock应该包含在.gitignore中吗?

我对bundler及其生成的文件有点新意.我有一个来自GitHub的git repo的副本,这是由很多人贡献的,所以我很惊讶地发现bundler创建了一个在repo中不存在但不在.gitignore列表中的文件.

因为我已经分叉它,我知道将它添加到repo不会破坏主回购的任何东西,但是如果我做一个pull请求,它会导致问题吗?

应该Gemfile.lock包含在存储库中吗?

git version-control bundler

483
推荐指数
7
解决办法
9万
查看次数

你怎么得到git总是从特定的分支拉?

我不是一个git master,但是我已经和它一起工作了一段时间,有几个不同的项目.在每个项目中,我总是从那时git clone [repository]起,总是可以git pull,只要我没有突出的变化,当然.

最近,我不得不恢复到以前的分支,并且这样做了git checkout 4f82a29.当我再次准备好拉,我发现我必须将我的分支设置回主人.现在,我不能使用笔直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/*
Run Code Online (Sandbox Code Playgroud)

更新2:要清楚,我明白我的原始方法可能不正确,但我需要修复此回购,以便我可以git pull再次使用.目前,git pull导致:

-bash-3.1$ git pull
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your …
Run Code Online (Sandbox Code Playgroud)

git version-control

479
推荐指数
7
解决办法
22万
查看次数

如何使用Git进行Unity3D源代码控制?

使用Unity 3D的Git源代码控制的最佳实践是什么,特别是在处理Unity 3D项目的二进制特性时?请描述工作流程,.gitignore中将包含哪些路径,应在Unity和/或项目中设置哪些设置,以及应注意的任何其他特殊事项.

注意:我意识到使用资产服务器是Unity推荐的方式,但我想出于各种原因使用Git.请不要说明我应该使用资产服务器的答案.资产服务器真的不适合我.

git version-control unity-game-engine

478
推荐指数
12
解决办法
22万
查看次数

Git mergetool生成不需要的.orig文件

当我使用Kdiff3(和我试过的其他合并工具)进行合并冲突解决时,我注意到在解析时*.orig创建了一个文件.有没有办法让它不创建额外的文件?

git version-control

454
推荐指数
8
解决办法
10万
查看次数

在Git中,HEAD,工作树和索引之间有什么区别?

有人能告诉我在Git中HEAD,工作树和索引之间的区别吗?

据我所知,它们都是不同分支的名称.我的假设是否正确?


编辑

我找到了这个

单个git存储库可以跟踪任意数量的分支,但是您的工作树只与其中一个分支相关联("当前"或"已检出"分支),HEAD指向该分支.

这是否意味着HEAD和工作树总是一样的?

git version-control

453
推荐指数
5
解决办法
13万
查看次数