javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

git-如果发布了新标签,jenkins将触发构建

我想配置jenkins,以便在git存储库的任何分支中释放新标签时开始构建。 如何配置此行为?

我对詹金斯很陌生,所以如果这是一个非常基本的问题,请原谅,但我自己找不到。

git jenkins config

触发:build trigger

谢谢你的帮助

trans by 2020-07-25T01:47:54Z

git push origin和git push origin mas有什么区别

将本地git存储库的master分支推送到名为origin的远程存储库的master分支有git push origin master有什么区别或git push origin

trans by 2020-07-24T18:41:21Z

如何在git中获取主负责人的提交ID?

我想在我的网站上显示master负责人的git commit ID(即SHA)作为标识符。

如何从git中提取此信息?

trans by 2020-07-24T16:38:28Z

git与重命名的文件合并

我有一个大型网站,我正在进入一个新框架,并在此过程中添加git。 当前站点上没有任何版本控制。

我首先将站点复制到新的git存储库中。 我创建了一个新分支,并进行了使其与新框架兼容所需的所有更改。 这些步骤之一是更改所有页面的文件扩展名。

现在,当我在新站点上工作时,对旧站点上的文件进行了更改。 因此,我切换到master并复制了所有这些更改。

问题是,当我将具有新框架的分支合并回master时,master分支上更改的每个文件都有冲突。

我不必担心,但是有数百个更改的文件。 我尝试了git rebasegit rebase --merge,但没有运气。

我如何合并这两个分支而不处理每个文件?

trans by 2020-07-24T15:11:14Z

linux-如果我们要搜索版本化的源代码,使用git grep比普通grep更好吗?

在git存储库中,使用git grep与旧的grep有什么区别/好处?
一个例子是?

trans by 2020-07-24T13:55:13Z

配置git,以便使用“ git pull”代替“ git pull origin master”?

使用git pull用于按预期方式从远程存储库中提取数据-现在,它要求我使用git pull origin master。我不太理解它给我的说明,说我可以在配置文件中添加一些内容:

[branch "master"]
remote = <nickname>
merge = <remote-ref>

[remote "<nickname>"]
url = <url>
fetch = <refspec>

现在我的配置文件看起来像

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
[remote "origin"]
    url = |redacted|
    fetch = +refs/heads/*:refs/remotes/origin/*

所以我想我需要补充

[branch "master"]
    remote = origin
    merge = ??

“合并”作为参数需要什么? 什么是远程引用?)? 我尝试查看[http://git-scm.com/docs/git-config],但它似乎与命令本身有关。

提前致谢!

trans by 2020-07-24T02:32:27Z

git-如何跟踪而不是登台,以及如何撤消而不是撤走?

我有两个简洁的问题:

  • 我如何跟踪文件但不分阶段进行?
  • 如何在不取消跟踪的情况下取消登台提交文件?

注意:我知道我可以进行初始提交来跟踪文件,并从那里开始跟踪文件。 但是可以具体地执行我上面的要求吗?

我尝试使用git reset HEAD fileA,但它会跟踪文件并将其添加以进行提交:

PS C:\> git add -N fileA
PS C:\> git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   fileA
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   README.md
#       modified:   composer.lock
#       modified:   fileA
#

如果我这样做,则git reset HEAD fileAgit rm --cached fileA会取消登台,但也会取消跟踪文件。此命令git rm fileA建议我使用标志-f临时删除文件。

因此,是否可能仅跟踪但不能暂存,并且只能取消暂存而不取消跟踪文件?

trans by 2020-07-23T21:31:16Z

共享功能分支的正确Git工作流程?

我正在尝试找出适合这种情况的正确工作流程:

在共享仓库上,我们有以下分支:

-master
-feature

功能分支是共享分支,因为许多开发人员正在共同开发新功能。 他们正在积极地将其更改推向功能分支。

我正努力避免在功能最终合并回master的那一天发生“冲突地狱”。 目前,我看到一些选择:

1)主动将master合并为功能,并经常执行。 但是,不建议在git docs中使用它,我开始了解原因。 当我尝试这样做时,我似乎一遍又一遍地解决了相同的冲突。

2)以某种方式使用rebase。 我已经阅读了此内容,但是由于功能分支实际上是共享的,因此它似乎无法正常工作。 只需要一名开发人员进行2个基准调整,其他开发人员可能会因历史记录不匹配而发生冲突。

3)将功能分支转变为集成分支,并让开发人员使用自己的独立功能分支进行基础调整,以使事情保持理智。

4)完全不同吗?

trans by 2020-07-23T17:36:30Z

git-为什么我不能从浅表克隆中推送?

git checkout <start_point>命令选项说

--depth <depth> 
Create a shallow clone with a history truncated to the specified number of revisions. 
A shallow repository has a number of limitations 
(you cannot clone or fetch from it, nor push from nor into it),
 but is adequate if you are only interested in the recent history of a large project with a long history,
 and would want to send in fixes as patches. 

为什么浅表克隆有此限制? 为什么只有补丁程序工作流程?

对于某些项目工作流,我只需要将最新提交从单个分支传递到编码器,然后使他们能够将其git checkout <start_point>(快速前进)的开发传递到主服务器。 这部分是出于安全性,IP保护和存储库大小的考虑,部分是为了减少大型存储库会给天真的编码器带来的混乱。 是否有允许这样做的git工作流程?


更新:根据Karl Bielefeldt的回答,git checkout <start_point>应该是正确的答案。 但是,仍然需要单独将该分支“克隆”给新用户,并能够有效地推动它。

手册页指出:

git checkout <start_point>

创建一个新的孤立分支,名为git checkout <start_point>,从 <start_point>并切换到它。 首次提交此新内容 分公司将没有父母,这将是新历史的根源 与所有其他分支和提交完全断开连接。

索引和工作树的调整就像以前一样 运行git checkout <start_point>。这使您可以开始一个新的 记录一组类似于clone <branch> --options的路径的历史记录 轻松运行push进行根提交。

当您要通过提交发布树时,这可能会很有用 而不暴露其全部历史。 您可能想要这样做 发布当前树为以下项目的开源分支 “干净”,但完整历史包含专有或其他内容 繁琐的代码位。

如果您要启动一个断开连接的历史记录,该历史记录记录了一组 与clone <branch> --options完全不同的路径,然后 您应该在创建后立即清除索引和工作树 通过从顶级运行push来创建孤儿分支 工作树。 之后,您就可以准备新文件了, 通过从其他地方复制它们来重新填充工作树, 提取压缩包等

VonC链接到Junio的评论很有趣。 我认为,在这种情况下,手册应提供指导,并允许使用正确的命令[例如 clone <branch> --options]提取出仓库的相关部分。 显然,通过在历史记录的底部具有一些链接的提交和SHA1(可以锁定回购匹配),可以提高push成功的可能性。


更新Git 1.9.0:发行说明14年2月14日。

“过去禁止从浅层克隆的存储库中获取数据,主要是因为所涉及的代码路径没有经过仔细审查而且我们也没有为这种用法提供支持。 此版本尝试允许将对象从一个浅克隆的存储库中移出更加受控的方式(即接收方成为浅层存储库历史被截断)。”

对于浅层克隆者而言,这是个好消息。下一步-可能会缩小克隆。

trans by 2020-07-23T13:38:47Z

git-如何通过Tor匿名在github上做出贡献?

我想匿名为github上的项目做贡献。 不要造成恶作剧,更多是出于匿名捐赠的精神。

在线匿名选择的工具似乎是TOR,它几乎可以在浏览器中完成的所有工作都很好。 但是,要在github上做出贡献,似乎有必要使用命令行界面或Mac应用程序。

如何通过Tor通过此设置引导我的git操作? 以及我如何验证这确实是正在发生的事情?

编辑:请注意匿名(具有伪造的电子邮件地址)和匿名(具有无法与身份相关联的IP地址)之间的区别。 匿名访问github是微不足道的; 但是,我正在寻找匿名访问。

trans by 2020-07-23T10:54:32Z

git-警告:忽略损坏的ref refs / remotes / origin / HEAD

从几天前开始,每当我按Tab键以bash形式完成分支名称时,我都会看到以下消息:

警告:忽略损坏的ref refs / remotes / origin / HEAD警告:忽略损坏的ref refs / remotes / origin / HEAD

例如,当我有一个名为feature / foo的分支并按tab时,将看到以下内容:

git checkout f

$ git checkout fwarning: ignoring broken ref refs/remotes/origin/HEAD
warning: ignoring broken ref refs/remotes/origin/HEAD
eature/
trans by 2020-07-23T02:02:09Z

版本控制-Git历史记录-按关键字查找丢失的行

我在Git存储库的某处有一行包含“ Foo”的单词,之前有数百次提交。

如果有什么办法可以在不购买FishEye的情况下找到它的上次修订版本号?

trans by 2020-07-23T01:29:14Z

git-是否可以找出在GitHub上签出我的项目的用户?

我想知道是否有办法知道谁签出了托管在GitHub上的我的项目? 其中包括直接在GitHub上分叉项目的人员,以及可能使用标准git clone命令克隆存储库的人员。

trans by 2020-07-22T23:43:40Z

git-我从哪里分支?

我回到了一个旧项目,然后运行了git status来弄清楚发生了什么,并且我发现分支太多了! 我想先做一些内部整理工作,然后再开始进行此工作,但是我不确定哪个分支来自哪个分支。

例如。 “ branchA”是否源自“ develop”? “ branchB”是源自“ master”还是“ branchA”?

我如何回答上面的示例问题?

trans by 2020-07-22T23:36:38Z

Visual Studio 2015中的Git(SSH)

因此,随着刚刚发布的Visual Studio 2015,与git的集成更加紧密。

但是,似乎缺少的功能是SSH上的git。 2013年有许多插件可以使用此功能(即GitExtensions),但2015年看不到任何插件。

GitHub插件仅适用于GitHub,不适用于通用git repos。

我不是在寻求哪种更好的意见,只是寻找一些示例或文章来看看是否有人在Visual Studio 2015上使用了Git + SSH。

trans by 2020-07-22T08:33:57Z

如何诊断和修复致命的git:无法阅读

我正在使用commit管理项目中的文件,并继续遇到此问题。

当我运行commit时收到消息

fatal: unable to read tree e2d920161d41631066945a3cbcd1b043de919570

据我了解,我应该检查commit的输出,然后收到

broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree e2d920161d41631066945a3cbcd1b043de919570
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree 9b0dd389bd7f9e8d257395d57e0881b7957f9698
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree 9e288a4ad60d63f342dfd18237980674426aa725
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree 2a04647337089f554fab8c49cfd37149e5f4fc9f
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree ea16658b45ce961adc3c3f519b0e8d9672918ca8

以及许多commit消息。

遵循各种资源(例如Git-断开的链接,缺少的树和悬垂的树),我只是从commit重新克隆了该项目,然后重新开始。

一旦我重新关闭了项目,对于几个commits来说一切都很好,然后问题再次出现。 每次重新克隆似乎都不是最佳选择,并且似乎与使用git的想法背道而驰,我想尝试了解发生了什么。 如何诊断和解决此问题?

trans by 2020-07-22T07:59:16Z

github-是否建议使用大写或驼色字母而不是小写字母的Git存储库名称?

我看到许多项目在其GitHub存储库中保留小写字母的名称。

建议使用大写或驼峰式大小写存储库名称吗?
如果(是/否)为什么?

trans by 2020-07-22T01:21:04Z

重构-如何处理git存储库中广泛的代码格式更改

我们有一个项目,该项目包含约500,000行代码,使用git管理,其中很多年已经存在。 我们将进行一系列修改,以使较旧的代码在命名约定,异常处理,缩进等方面与开发人员社区的当前标准和最佳实践保持一致。

您可以将其视为漂亮的打印和低级/机械重构之间的某种组合。

此过程可能会触及代码库中几乎每行代码(约85%),并且某些行可能要进行多达五次修改。 所有更改旨在在语义上保持中立。

  • 有什么方法可以使更改对git blame等透明,以便从现在开始每月查看代码时,我们将看到引入了逻辑的提交,而不是其中的缩进或大写更改的提交?
  • 从尚未经过此过程的分支中拉出合并的最佳方法是什么? 我目前的计划是让脚本克隆派生的仓库,对其及其基础应用自动化过程,对它们进行比较,然后进行比较。 但我希望有一个更干净的答案。
  • 我还没有遇到其他此类问题,如果可以,可以采取什么措施来缓解这些问题? 我想弄清楚git bisect等应该很好,git log等等。跨越大鸿沟会很烦人,除非您小心,否则git diff将毫无希望,但是我不相信我不会忽略另一个 痛点。

  • trans by 2020-07-21T11:24:33Z

    python-无法在Windows的GIT bash mingw32中激活virtualenv

    当我尝试从GIT bash mingw32激活我的virtualenv时,没有得到预期的响应。

    注意:activate.bat是我的Google Drive文件夹中Python项目的文件夹。 hy是我运行virtualenv --distribute hy时创建的virtualenv文件夹。

    s3z@s3z ~/Google Drive/py/hy
    $ Scripts/activate
    

    因此,您看到在activate.bat之前没有出现预期的(为什么)

    s3z@s3z ~/Google Drive/py/hy
    $ Scripts/activate.bat
    Scripts/activate.bat: line 1: @echo: command not found
    Scripts/activate.bat: line 4: syntax error near unexpected token `('
    Scripts/activate.bat: line 4: `if not defined PROMPT ('
    

    并且当将实际文件名定位为activate.bat时,我收到错误消息。 然后,我尝试停用以查看会发生什么情况,因为我认为virtualenv已被激活但被隐藏了。

    s3z@s3z ~/Google Drive/py/hy
    $ Scripts/deactivate.bat
    Scripts/deactivate.bat: line 1: @echo: command not found
    Scripts/deactivate.bat: line 3: syntax error near unexpected token `('
    Scripts/deactivate.bat: line 3: `if defined _OLD_VIRTUAL_PROMPT ('
    
    s3z@s3z ~/Google Drive/py/hy
    $ Scripts/deactivate
    sh.exe": Scripts/deactivate: No such file or directory
    

    有任何想法吗?

    trans by 2020-07-21T08:17:27Z

    git-Android回购清单存储库如何工作?

    Android源代码是git存储库的较大层次结构。 它们由称为repo的自定义脚本管理。 Repo使用manifest.xml确定要管理的git存储库。 Android的manifest.xml与其他所有git存储库一起托管在git存储库中。

    如何在Android中管理此存储库? 具体来说,如何组织不同的分支机构以及每个分支机构中托管的不同文件?

    trans by 2020-07-21T07:45:26Z

    上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共134页