标签: version-control

运行"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
Run Code Online (Sandbox Code Playgroud)

或者它的任何顺序(阿尔法?我​​正在伪造这个例子以保持无辜的回购秘密的身份).那么HEAD业务是什么?它是什么,最后一个人push有他们HEAD在尖时,他们推?这不会是他们push编辑的一切吗?HEAD四处走动......为什么我会关心别人HEAD在另一台机器上指出的东西?

我只是处理远程跟踪等问题,所以这是一个挥之不去的混乱.谢谢!

编辑:我的印象是专用的远程回购(比如GitHub,没有人会在这个代码上工作,但只有拉或推等)没有也不应该有HEAD,因为基本上,没有工作副本.不是吗?

git version-control github

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

如何忽略Mercurial中文件夹下的所有内容

我正在寻找.hgignore文件的表达式,以忽略指定文件夹下的所有文件.

例如:我想忽略bin下面的所有文件和文件夹

实际上,关于如何形成表达式的任何建议都会很棒

version-control mercurial hgignore

149
推荐指数
3
解决办法
7万
查看次数

独奏数据分析师的R和版本控制

我尊重的许多数据分析师都使用版本控制.例如:

但是,我正在评估采用像git这样的版本控制系统是否值得.

简要概述: 我是一名社会科学家,他使用R来分析研究出版物的数据.我目前不生产R包.我的项目R代码通常包括几千行代码,用于数据输入,清理,操作,分析和输出生成.出版物通常使用LaTeX编写.

关于版本控制,我已经阅读了许多好处,但它们似乎与独立数据分析师的相关性较低.

  • 备份:我已经有一个备份系统.
  • 分叉和倒带:我从来没有觉得有必要这样做,但我可以看到它是如何有用的(例如,你正在准备基于相同数据集的多篇期刊文章;你正在准备一份每月更新的报告,等等)
  • 协作:大多数时候我自己分析数据,因此,我不会获得版本控制的协作优势.

采用版本控制还涉及几个潜在成本:

  • 是时候评估和学习版本控制系统了
  • 与我当前的文件管理系统相比,复杂性可能会增加

但是,我仍然觉得我错过了什么.关于版本控制的一般指南似乎比数据分析师更多地针对计算机科学家.

因此,特别在类似于上面列出的情况下的数据分析师:

  1. 版本控制是值得的吗?
  2. 采用版本控制的主要优点和缺点是什么?
  3. 使用R开始使用版本控制进行数据分析的好策略是什么(例如,示例,工作流程思路,软件,指南链接)?

git version-control r

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

如何处理Git源代码控制下的IntelliJ IDEA项目文件不断变化?

我们团队中的每个人都使用IntelliJ IDEA,我们发现将其项目文件(.ipr和.iml)放入源代码控制中非常有用,这样我们就可以共享构建配置,设置和检查.此外,我们可以在TeamCity的持续集成服务器上使用这些检查设置.(我们在.gitignore文件中有每用户工作区.iws文件,而不是源代码控制.)

但是,当您在IDEA中执行任何操作时,这些文件会以很少的方式发生变化.在IDEA的问题数据库中存在一个问题(IDEA-64312),所以也许人们可能会认为这是IDEA中的一个错误,但在可预见的未来,这是我们需要忍受的错误.

直到最近,我们使用Subversion,但我们最近切换到Git.我们每个人都习惯了我们忽略的项目文件的更改列表,并且没有签入,除非我们想要与其他人共享项目文件更改.但是对于Git来说,真正的力量似乎是(从我们正在探索的)它所鼓励的连续分支,并且在分支之间切换是一个痛苦,项目文件总是被修改.通常它可以以某种方式合并更改,并尝试处理现在应用于新分支的项目文件更改.但是,如果新分支已更改项目文件(例如分支正在处理尚未在其他分支中的新模块),git只会抛出一个错误,即在文件中合并没有任何意义当分支都有变化并且你在本地有变化时,我宁愿理解它的观点.从命令行,可以在"git checkout"命令中使用"-f"强制它抛出本地更改并改为使用分支,但是(1)IDEA中的Git Checkout GUI命令(10.5.1)似乎没有那个我们可以找到的选项,所以我们需要定期切换到命令行,(2)我们不确定我们是否想养成使用它的习惯标志并告诉Git抛弃我们的本地更改.

所以,我们有一些关于我们必须处理的选项的想法:

  1. 完全从源代码管理中取出项目文件.将它们放在.gitignore中,并通过其他方式将它们分发给每个人和TeamCity,也可以将它们放在其他地方或其他名称的源代码管理中.我们的团队足够小,这个选项足以考虑,但看起来不太好.
  2. 继续使用它,试图确保在给定时间管理我们在哪些分支上的文件.作为其中的一部分,我们可能会鼓励每个开发人员在他们的系统上拥有每个项目的多个副本,因此他们可以将每个项目签出到具有可能不同的项目文件集的不同分支.
  3. 尝试在源代码管理中只使用项目(.ipr),模块(.iml)文件不在源代码管理和.gitignore文件中.似乎在.ipr中定期切换的主要内容是共享构建配置的顺序,但也许我们可以单独分享有关如何设置它们的信息.我不太确定IDEA如何处理这种只有一些文件的东西,特别是在一个新的结账时.

我想我希望有一些我们错过的明显(或非显而易见)解决方案,或许可以处理Git和IDEA似乎都具有的巨大可定制性.但似乎我们不可能成为唯一有这个问题的团队.是一种类似于StackOverflow上的问题包括3495191,10005123873872,但我不知道,因为他们是完全一样的问题,也许有人能拿出的优点和缺点,我列出的各种方法,这些问题的答案中列出的方法,或他们推荐的方法.

谢谢.

git version-control intellij-idea

148
推荐指数
5
解决办法
7万
查看次数

如何修改旧的Git提交?

我做了3个git提交,但没有被推送.如何修改不是最新的旧版本(ddc6859af44)和(47175e84c)?

$git log
commit f4074f289b8a49250b15a4f25ca4b46017454781
Date:   Tue Jan 10 10:57:27 2012 -0800

commit ddc6859af448b8fd2e86dd0437c47b6014380a7f
Date:   Mon Jan 9 16:29:30 2012 -0800

commit 47175e84c2cb7e47520f7dde824718eae3624550
Date:   Mon Jan 9 13:13:22 2012 -0800
Run Code Online (Sandbox Code Playgroud)

git version-control git-rewrite-history

148
推荐指数
5
解决办法
10万
查看次数

为什么三向合并优于双向合并?

维基百科称3向合并不像双向合并那样容易出错,而且通常不需要用户干预.为什么会这样?

3向合并成功并且双向合并失败的示例将是有帮助的.

version-control merge conflict three-way-merge

147
推荐指数
4
解决办法
5万
查看次数

什么是Git的优秀(免费)视觉合并工具?(在窗户上)

一个类似的问题已经被问过,但对Ubuntu.

这将有助于了解该工具是否像啤酒或自由中一样是免费的.

此外,该工具的起伏也很不错.

windows git version-control merge

147
推荐指数
5
解决办法
14万
查看次数

当前分支和主服务器之间的Git差异,但不包括未合并的主提交

我想要一个尚未合并到master的分支中的所有更改的差异.

我试过了:

git diff master
git diff branch..master
git diff branch...master
Run Code Online (Sandbox Code Playgroud)

但是,在每种情况下,diff都包含master中尚未合并到我的分支中的内容.

有没有办法在我的分支和主人之间做一个差异,排除了尚未合并到我的分支的主人的变化呢?

git version-control diff merge git-diff

147
推荐指数
4
解决办法
15万
查看次数

git选择性还原文件中的本地更改

在我跟踪svn repo的git repo中,我对一个文件进行了大量编辑.

现在我想恢复这些更改(如svn revert),但只是部分文件.

我希望能够查看文件中的差异,丢弃(还原)我不想要的更改并保留我想要的更改.

git add -i 
Run Code Online (Sandbox Code Playgroud)

命令似乎有一个选项可以做到这一点,但我不想暂时这样做.

git version-control git-svn

146
推荐指数
2
解决办法
3万
查看次数

"Git推动非快进更新被拒绝"是什么意思?

我正在使用Git来管理我的两台计算机和我的开发.我正在尝试将更改提交给GitHub,我收到错误.

无法推送一些参考<repo>.为了防止您丢失历史记录,拒绝了非快进更新.在再次推送之前合并远程更改.

可能导致这种情况的原因是什么?

编辑:

拉回购物品会返回以下内容:

*分支主 - >主(非快进)已经是最新的

推送仍然给我上述错误.

git version-control

144
推荐指数
5
解决办法
17万
查看次数