Tag: 混帐

与Intellij Idea一起使用Git的最佳实践

简而言之,使用Intellij Idea(9)和Git的最佳实践是什么? 上下文 我们最近升级到了idea 9,并开始使用Git来实现现有项目的新function。 我们主要使用git命令行来更好的学习这个工具。 但是我们认为我们会select蜂巢式的思路来找出git和idea的最佳实践。 Idea UI对于CVS和Git来说都是相似的,但底层实现却有所不同。 示例问题 例如: – 用CVS,当我们有多个版本的产品时,我们每个人都有1-0,2-0,3-0等分支的本地副本,每个分支都有自己的Intellij文件(即.ipr,.iws等)。 “Git方式”似乎有一个项目,并使用“GIT分支”切换分支。 这很好,但是当你改变分支的时候,它为想法创造了巨大的开销(因为它必须重新加载每个改变的文件,包括签入的jar)。 所以:你还有一个单独的项目(与.git)为每个“主要版本”或有一个项目,并使用“Git分支”? – 使用Autostash是个好主意吗? – 你会自动添加每个修改到你的git提交? 或者稍后使用“git add”? 你有没有发债? 最好的方式来合并? – 任何其他提示/提示/为你工作,等等。 最终评论 我们仍然“在cvs中思考”,所以这部分已经习惯了git; 部分习惯了Idea的Ui for git。 这些是相当基本的问题,因为我们仍然主要使用命令行。 另外我听说主意10有更好/更强大/更快的git集成工具 谢谢

有没有办法自定义混帐的输出?

git log有一个很好的–format选项来指定输出的格式。 但git blame似乎并没有相当的,虽然blame默认输出是不太人性化。 我想看得更less。 例如,而不是: 5600cab7 js/sidebar/VehicleGrid.js (Rene Saarsoo 2009-10-08 18:55:24 +0000 127) if (x > y) { b5f1040c js/map/monitoring/VehicleGrid.js (Mihkel Muhkel 2010-05-31 07:20:13 +0000 128) return x; 我想拥有: 5600cab7 Rene Saarsoo (1 year ago) 127: if (x > y) { b5f1040c Mihkel Muhkel (5 months ago) 128: return x; 我觉得我可以写一个脚本来parsinggit blame –porcelain的输出,但是考虑到可怕的默认输出,我觉得有人在那里肯定已经做了些什么。 有任何想法吗? […]

如何处理这个git错误

我得到这个错误在我的git仓库: 22:09:15 $ git status # On branch master error: Could not read 8124cc15c63be92d534e4cdfa33c38d54deee122 error: unable to read tree object HEAD nothing to commit (working directory clean) Googlesearcherror: unable to read tree object HEAD并没有造成太大的帮助,这个错误似乎是非常罕见的。 我不知道该如何处理。 难道是硬盘故障? 编辑 : git fsck的输出如下: broken link from commit 607328dc80e4901a55b95c683d4fbf43e6df28bf to tree 8124cc15c63be92d534e4cdfa33c38d54deee122 missing tree 8124cc15c63be92d534e4cdfa33c38d54deee122 dangling tree 56b5d4a5e429d251582ec927bca7ef1225510c41 dangling […]

如何将GitHub wiki集成到主项目中

我想保留我所有的源代码和文档在一个单一的git仓库。 我已经把github页面集成到了我的主项目中,现在我想要和github wiki一样。 我知道github wiki是纯粹的git仓库。 我的计划是将维基添加到我的主库中,并将所有内容保存在一个地方。 然而,在维基回购一切都在根目录,因此会混乱我的主要项目。 有没有人试过这个? 处理这个问题的最好方法是什么?

防止或追赶git历史重写的策略

虽然我喜欢git历史重写function,但是如何确保历史不会被重写。 我们不介意程序员在自己的机器上做什么,但是我们需要确保一个版本不会推送到改变历史logging的服务器上。 即我们需要保证过去的某个版本确实是那个版本。 因此,这将包括阻止某人通过并永久删除历史logging中的文件,或在所有历史logging中永久更改文件。

IntelliJ's Shelve和Git的区别是什么?

IntelliJ支持git stash以及它自己内置的shelve命令。 这些似乎在目的和效用上几乎相同。 他们有什么区别?

“git reset”和“git rebase”有什么不同?

我一直在玩git(还是很noob),我想知道“重置”和“rebase”之间的区别。 比另一个更强大吗? 假设我想从历史logging中删除粗体的3个提交,哪个更好用,还是应该标记,然后用git tag -d <tagname>删除它? 17a64df 2012-06-21 | 你好使用style.css(HEAD,origin / style,master), a6792e4 2012-06-21 | 新增了CSS样式表 801e13e 2012-06-21 | 增加了README 5854339 2012-06-21 | 增加了index.html 0b1dd4c 2012-06-21 | 将hello.html移至lib 55649c3 2012-06-21 | 添加作者/电子邮件评论 9b2f3ce 2012-06-21 | 添加了作者评论 cdb39b0 2012-06-21 | 用文本提交p标签(v1.1) b7b5fce 2012-06-21 | 这将恢复提交a6faf60631b5fbc6ee79b52a1bdac4c971b69ef8。 a6faf60 2012-06-21 | 恢复“糟糕,我们不想要这个提交” a006669 2012-06-21 | 糟糕,我们不想要这个提交 262d1f7 2012-06-21 | […]

从github推送到heroku没有下载回购

我有一个github回购,我想推到一个heroku节点。 第三名主持人将协调这一点。 正如我将要大规模地做这个,我想避免不得不将这个回购的内容下载到第三个主机上。 我该怎么做?

你如何注解一个分支?

有什么方法可以注释一个分支? 能够做到这样的事情会很好: $ git notes add branch-name -m'这个分支用于任何' 但这当然不是非常有帮助的,因为这个注释适用于当前的分支头,而不是分支本身。 一个简单的解决方法是在存储库中放置一个README.branch-name,但这看起来很笨拙。 稍微更优雅的是有一个孤立的分支只包含README.branch-names。 我正在寻找一种方法来logging分支的目的是什么,而不是把它放在分支的“第一个”提交的提交信息。 我把“第一个”放在引号中,因为它并不总是清楚是什么意思,这就是把讨论放在提交信息中不方便的原因。 通常很难findlogging这样的消息的提交。

在TeamCity构build步骤中使用git命令

我的一个TeamCity v7.0构build项目依赖于使用当前开发分支和主分支之间的差异来确定需要运行的东西。 我写了一个小脚本,使用类似于: git diff origin/master..origin/QA –name-only –diff-filter=AM | DoSomethingWithThoseFiles 不幸的是,构build日志表明, git diff不起作用。 当我进入这个项目的buildAgent / work目录时,我发现没有.git文件夹,所以无法执行所需的git操作。 我已经在TW-15873提到的buildAgent.properties文件中放置了teamcity.git.use.local.mirrors=true ,但这似乎没有任何帮助。 有什么我可以做的,以获得我的构build步骤脚本中的两个分支之间更改的文件列表?