Tag: 混帐

我怎样才能使jenkinsCI与GIT触发器推动主?

我正在尝试使用github为一个项目设置Jenkins-ci。 我已经用适当的插件设置了jenkins。 我希望jenkins只有在项目的某个人推动主人时才能运行构build脚本。 到目前为止,我已经能够设置它,以便任何时候任何人都可以触发构build,但是这太宽泛了。 我已经用git上的post-receive服务钩子完成了。 我读过jenkins wiki和一些教程,但是这个特殊的细节已经被忽略了……是否可以使用轮询呢? 还是应该在git方面进行工作,以便git只在Master更改时触发jenkins? 谢谢你的帮助!

“混帐 – 他们的”需要 – 但我知道它不存在

我有一些我想要合并在一起的远程存储库。 这些存储库中的一些子树对于远程来说是唯一的(它们包含特定于主机的数据),其他子树包含所有远程数据(应该是)通用的。 我想要做的,基本上是为每个遥控器运行“git pull”。 这将快速转发远程主服务器的跟踪分支上的本地主分支,以便在远程主机上进行更改,并且不会对通用文件执行任何操作,因为它们不会更改。 一个普通文件的改变(称为F,改变为F')不应该是一个问题,即使它最初只发生在一个遥控器上。 git-merge会做正确的事情,并给我一个F'在我的复合工作区,这正是我想要的副本。 如果同一个公共文件在另一个远程中以不同的方式改变(称为F“),git-merge会给我一个F和F的组合,这不是我想要的。 我想要的只是F“。 当我使用ClearCase时,我们称之为复制合并。 合并的结果始终是撰稿人的确切副本。 这听起来很像“混帐他们”,除了它不存在。 我想知道我是否可以用“git-read-tree -m -trivial”来做一些快速的合并,然后用git-merge和一个自定义的mergetool做一些魔法, REMOTE文件为$ MERGED。 但即使如此,我不明白如果我合并是微不足道的,我怎么能阻止混合合并F'和F“。 我读过链接有没有“他们的”版本的“混帐 – 我们的”? 在这个网站上,由Junio Hamano发表的文章解释了为什么“git合并他们的”是一个糟糕的主意,但对我来说并不是这样。 我重视旧的历史,但是我需要跳船,并在发生的时候跟踪远程站点的变化。 本地网站没有新的工作。 它只需要组成所有远程站点的组合,从最后一个被轮询的远程站点中取出最新的“通用”文件。 预先感谢您能给我的任何帮助。

将git父指针设置为不同的父级

如果我在过去提到了一个指向父母的承诺,但是我想改变它指向的父母,那么我该如何去做呢?

Git – 致命:无法创build'/path/my_project/.git/index.lock':文件存在

我仍然得到这个错误信息,当我尝试将我的项目树移动到git回购。 我检查了我的目录与这个项目的权限,这些设置在777.terminal中的目录与my_project我设置: git init 然后如果我尝试 git add。 要么 git commit -m“第一次上传” 所以我会得到的错误 fatal: Unable to create '/path/my_proj/.git/index.lock': File exists. If no other git process is currently running, this probably means a git process crashed in this repository earlier. Make sure no other git process is running and remove the file manually to continue. 我也尝试创build一个新的回购,并在那里提交,但不幸的是仍然是相同的错误信息…我已经有点绝望了,我试图find整个下午的解决scheme,但仍然没有成功… 请问谁能帮助我,问题的原因是什么? […]

你什么时候会使用不同的git合并策略?

从git-merge的手册页中,可以使用一些合并策略。 解决scheme – 这只能解决两个头(即当前分支和你从另一个分支)使用3路合并algorithm。 它试图仔细检测交叉融合歧义,被认为是安全和快速的。 recursion – 这只能使用3路合并algorithm解决两个头。 当有多个共同的祖先可以用于三路合并时,它将创build一个共同的祖先的合并树,并将其用作三路合并的参考树。 据报道,这会导致更less的合并冲突,而不会导致通过从Linux 2.6内核开发历史logging中进行的实际合并提交所做的testing错误合并。 此外,这可以检测并处理涉及重命名的合并。 这是拉取或合并一个分支时的默认合并策略。 章鱼 – 这解决了两个以上的情况,但拒绝做复杂的合并,需要手动解决。 它主要是用来把主题分支头捆绑在一起。 这是拉取或合并多个分支时的默认合并策略。 我们的 – 这解决了任何数量的头,但合并的结果总是当前的分支头。 它是用来取代分支机构的旧发展历史。 子树 – 这是一个修改的recursion策略。 当合并树A和B时,如果B对应于A的子树,则首先调整B以匹配A的树结构,而不是读取处于同一级别的树。 这个调整也是对共同的祖先树进行的。 什么时候应该指定与默认值不同的内容? 哪些场景最适合?

撤消git重置?

什么是最简单的方法来撤消 git reset HEAD~ 命令? 目前,我能想到的唯一方法就是从远程回购站点执行“git clone http:// …”。

如何从git存储库中删除一个目录?

我有我的GitHub存储库上的2个目录。 我想删除其中的一个。 我怎么能做到这一点,而不删除和重新创build整个存储库?

Git如何处理BLOB上的SHA-1冲突?

这可能从来没有发生在现实世界中,可能永远不会发生,但是让我们考虑一下:假设你有一个git仓库,做一个提交,并且非常不走运:其中一个blob最终具有相同的SHA-1作为另一个已经在你的仓库中。 问题是,Git如何处理这个问题? 简单地失败? find一种方法来链接两个斑点,并根据上下文来检查哪一个是必要的? 更多的是一个脑筋急转弯,而不是一个实际的问题,但我觉得这个问题很有趣。

如何更改git分支正在跟踪的远程?

central仓库必须build立在一个新的服务器上,所以我在本地仓库上创build了一个新的远程服务器,并将其推向了这个位置。 但现在当我做git pull ,它声称我是最新的。 这是错误的 – 它告诉我关于旧的远程分支,而不是新的,我知道一个事实有新的提交提取。 如何更改我的本地分支以跟踪不同的远程? 我可以在gitconfiguration文件中看到这个,但我不想搞砸了。 [branch "master"] remote = oldserver merge = refs/heads/master

Git不断提示我input密码

我已经使用Git了一段时间,但不断的要求input密码正在开始把我推上墙。 我正在使用OSX和Github,并且按照GitHub的Set Up Git页面的指示设置了Git和SSH密钥。 我还在GitHub的SSH密钥密码页面中提到了github SSH密钥到我的Mac OSX钥匙串。 我的公钥是用Git注册的。 不过,每次我尝试拉扯,我必须input我的用户名和密码。 除了需要为此设置的SSH密钥,还有其他的东西吗?