Tag: git新

合并:汞/ Git与SVN

我经常读汞(和Git和…)比SVN合并更好,但我从来没有见过Hg / Git可以合并SVN失败(或SVN需要手动干预的地方)的实例。 你可以发布分支/修改/提交/ …操作的几个分步列表,显示当Hg / Git愉快地移动时,SVN会失败吗? 实用,不是非常例外的情况下,请… 一些背景:我们有几十个开发人员使用SVN来处理项目,每个项目(或一组类似的项目)都在它自己的仓库中。 我们知道如何应用发布和function分支,所以我们不会经常遇到问题(即,我们已经到了那里,但是我们已经学会了克服Joel的 “一个程序员对整个团队造成创伤”的问题或“需要六个开发人员两周才能重新整合一个分支”)。 我们有非常稳定的版本分支,只用于应用错误修正。 我们有足够稳定的中继线,能够在一周内创build发行版。 我们拥有单个开发人员或开发人员组可以使用的function分支。 是的,他们在重新整合之后被删除,所以他们不会混淆版本库。 ;) 所以我仍然在试图找出Hg / Git优于SVN的优势。 我很想获得一些实践经验,但是我们还没有任何更大的项目可以转移到Hg / Git,所以我一直坚持使用只包含less量文件的小型人工项目。 而且我正在寻找一些可以感受到Hg / Git令人印象深刻的能力的例子,因为到目前为止我经常阅读关于它们的内容,但是却没有亲自find它们。

通过SSHconfigurationGitlogin一次

我通过ssh克隆了我的git仓库。 所以,每当我通过推或拉与原始主人沟通,我都必须重新input密码。 我怎样才能configurationGIT,使我不需要多次input密码?

有没有一个混合 – 干运行选项?

我正在合并在一个可能有很多冲突的远程分支。 我怎么知道它是否会有冲突呢? 在git-merge上我没有看到任何像–dry-run东西。

我的Gitconfiguration中的设置来自哪里?

我注意到,当我运行git config -l时,我有2个core.autocrlf清单 $ git config -l core.symlinks=false core.autocrlf=false color.diff=auto color.status=auto color.branch=auto color.interactive=true pack.packsizelimit=2g help.format=html http.sslcainfo=/bin/curl-ca-bundle.crt sendemail.smtpserver=/bin/msmtp.exe diff.astextplain.textconv=astextplain rebase.autosquash=true user.name=name user.email=email@example.com core.autocrlf=true 那些最后3(从user.name下来)是唯一在我的c:\users\username\.gitconfig文件。 其他的来自哪里? 为什么core.autocrlf列出两次? 这是与msysgit 1.8.3,我也有安装SourceTree(Windows 7)。 在SourceTree中,我没有选中“允许SourceTree修改你的全局Gitconfiguration文件”

Git – 如何强制合并冲突和手动合并选定的文件

我们维护具有常用主分支和多个并行分支的Web应用程序,每个安装一个,每个安装都没有特定的变化。 源代码在git中进行pipe理,当我们需要将主分支转移到并行转移function和bug修复时,它是非常棒的工具。 但是很less有敏感和自动合并的文件通常会给出不好的结果。 所以合并会容易得多,如果他们可以以某种方式标记,每一个合并会导致需要手动合并的冲突。 我search了一个答案: 我正在使用–no-commit和–no-ff合并选项,但它不一样。 这里和这里有人问同样的问题,但没有解决scheme。 类似的情况似乎是如何防止文件被合并使用.gitattributes包含: somefile.php合并=我们 。 我试图find一些合并选项,这将产生冲突或强制手动合并,但迄今没有发现。 .gitattributes包含: somefile.php -merge不会自动合并,因此强制手动合并。 这是90%的解决scheme,但我所追求的是尝试自动合并,并将其标记为冲突,无论成功与否。 但是这与解决scheme非常接近。 (…感谢Charles Bailey澄清…) 有人build议编写自定义合并驱动程序( 1,2 ),但如何做到这一点对我来说是远远不够的。 编辑:变种4.描述

在Git中编辑根提交?

有一些方法可以更改以后提交的消息: git commit –amend # for the most recent commit git rebase –interactive master~2 # but requires *parent* 你怎么能改变第一次提交(没有父)的提交信息?

git config –global在哪里写入?

当使用git config –global设置时,它将写入哪个文件? 例: git config –global core.editor "blah" 我无法在这些地方find它: C:\Program Files\Git\etc\gitconfig C:\myapp\.git\config 我还没有设置ENV? 我的Git版本:1.6.5.1.1367.gcd48 – 在Windows 7上

我如何得到Git的提交计数?

我想得到我的Git仓库提交的数量,有点像SVN修订版本号。 目标是将其用作唯一的递增内部版本号。 我目前这样做,在Unix / Cygwin / msysGit上: git log –pretty=format:'' | wc -l 但是我觉得这有点破绽。 有没有更好的方法来做到这一点? 如果我实际上不需要wc甚至Git,那将会很酷,所以它可以在一个光秃秃的Windows上运行。 只要阅读一个文件或目录结构…

Git与Mercurial – 比较与对比

一段时间以来,我一直在使用颠覆我的个人项目。 越来越多的我一直听到关于Git和Mercurial,以及DVCS的很好的事情。 我想给整个DVCS一个旋转,但我不太熟悉任何选项。 Mercurial和Git有什么区别? 请注意,我并没有试图找出哪一个是“最好的”,甚至是我应该从哪一个开始。 我主要是在寻找关键领域,他们是相似的,他们是不同的,因为我有兴趣知道他们在实施和哲学方面有什么不同。

用Git下载一个特定的标签

我想知道如何下载Git仓库的特定标签 – 这是当前版本的一个版本。 我看到在git网页上有一个以前版本的标签,对象名称是很长的hex数字。 但版本名称是“ Tagged release 1.1.5 ”。 我尝试了这样一个命令(改名字): git clone http://git.abc.net/git/abc.git my_abc 而且我确实得到了一些东西 – 一个目录,一堆子目录等等。 如果它是整个存储库,我怎么得到我正在寻找的版本? 如果不是,我该如何下载该特定版本?