社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  VonC  »  全部回复
回复总数  91
6 年前
回复了 VonC 创建的主题 » .gitignore不工作-仍显示未跟踪的文件夹

确保:

  • 这个 .gitignore 不是 里面 试图忽略的子文件夹,但至少有一级(在要忽略的文件夹的父文件夹中)
  • 大小写(小写/大写)相同

检查结果 吉蒂格诺 用:

git check-ignore -v -- foldername/afile
6 年前
回复了 VonC 创建的主题 » 只将git中修改或更改的文件拉到jenkins工作区

所有其他未更改的文件当前也被推送到工作区

只有当您的作业设置为首先清理工作区时(在这种情况下,是的,所有文件都会重新复制)

如果没有,你可以从 git clean -fd 为了让你的工作从一棵干净的工作树开始。

6 年前
回复了 VonC 创建的主题 » Git桌面:正确同步时出现问题(lock ref)

首先,在windows上,确保没有一个活动进程,该进程将保留git管理的一个文件的句柄。这将解释错误消息的第二部分。

关于第一个,检查 desktop/desktop issue 4325 可以帮助:

  • 在github桌面中打开存储库
  • 转到“文件”菜单并选择“存储库”>“在命令提示符下打开”
  • 运行命令 rm .git/refs/remotes/origin/master 删除断开的ref
  • 运行命令git fetch origin以获取ref的新副本
  • 运行命令 git branch -u origin/master 要让本地主分支跟踪源/主分支

当您(为了测试)在新的本地空文件夹中再次克隆repo时,还要检查问题是否仍然存在。

6 年前
回复了 VonC 创建的主题 » 并行项目的git分支模型

一个简单的集成分支,可以在p1中获取,p1-repo1在这里合并,然后在测试之后推回到中央repo。

p2项目可以依次获取同一个集成分支并合并它自己的p1-repo2分支,解决任何冲突,确保测试仍然通过,然后返回。

7 年前
回复了 VonC 创建的主题 » 哪些git命令隐式运行“git gc”?[复制品]

对于Git 2.17(2018年第二季度),您必须添加 git commit 到触发 git gc --auto .
实际上,从git开始就应该是这样。

commit 095c741 (2018年2月28日)截止日期 Ævar Arnfjörð Bjarmason ( avar ) .
(合并) Junio C Hamano -- gitster -- 在里面 commit 9bb8eb0 2018年3月8日)

commit 运行 Git GC—自动 就在 post-commit

改变 git-commit 回到原来的样子 d4bb43e (“调用”” Git GC—自动 “从 犯罪 , merge , am rebase “,2007-09-05,git v1.5.4-rc0),当时 git-commit.sh .

不久之后 f5bbc32 (港口) GIT提交 到C.“,2007-11-08,git v1.5.4-rc0)当它被移植到C时, Git GC—自动 “召唤消失了。

自从那次意外的倒退, Git GC—自动 只跑 git-am , git-merge , git-fetch git-receive-pack .
可以写一个脚本 GIT提交 “大量本地数据,以及 gc 不会跑的。

本地提交生成的区域文件的此类存储库 在添加每日cronjob之前,更改的大小已经增加到大约60gb “ git gc “,将其降低到小于1GB。这将使 案例在没有干预的情况下有效。

我认为修复这样的病理病例 永远是一个值得交换的花费几个 毫秒调用“ Git GC—自动 “(在一般情况下 什么都不做)。

6 年前
回复了 VonC 创建的主题 » Github中未显示Jenkins生成状态图标

有几个 recent issues around Status with the GitHub plugin for Jenkins .

JENKINS-53824 例如,提到:

提交时未设置状态。在遵循web上大多数建议的解决方案(手动repo、手动sha等)之后,它仍然没有显示任何内容。

从插件的代码和anyrepo的日志来看,这个步骤似乎没有找到正确的服务器。

转到jenkins的配置并查看github的配置。似乎github服务器配置部分现在也允许企业服务器,但是仍然有github企业部分(我的服务器在其中列出)。

经过一段时间的运行,我发现当我将ghe服务器添加到github服务器部分时,提交状态也会按预期工作 .

6 年前
回复了 VonC 创建的主题 » 标记github存储库

那就是“ 话题 “看” Classifying your repository with topics

在存储库描述下,单击添加主题。

https://help.github.com/assets/images/help/repository/add-topics-link.png

6 年前
回复了 VonC 创建的主题 » git是否会影响midi驱动程序或其他硬件?

以防万一,一定要检查一下 git config core.autocrlf :我建议将其设置为false,以确保git不会试图规范化您正在添加的文件的eol(结束olf行)字符(例如,将crlf更改为lf)

然后获取文件的原始副本,并将其重新初始化/添加到新的repo中:它们应该保持不变。

6 年前
回复了 VonC 创建的主题 » 分支上的git递归克隆不起作用

确保MyBranch中有这些子模块:

如果没有子模块条目,这将解释为什么它们是空的。
如评论所述,如果它们是 git submodule update --init 应该够了。

6 年前
回复了 VonC 创建的主题 » GitIgnore后文件夹已消失

当我们更改代码时(例如,C类),应用程序的数据内容会发生变化。我要的是及时归还,把文件夹保留到昨天

如果可以,请在问题中描述的序列之前将分支重置为提交: git log ,并在注释为“cached”的提交之前选择提交。

git checkout -b newBranch <oldCommit>
git push -u origin newBranch

我们的目标是将您的更改报告给 newBranch 在把旧的换掉之前。

那么,如果你需要忽略 Tp_Integrador/Tp_Integrador ,但不是子文件夹,请在 .gitignore 新牧场 ):

Tp_Integrador/Tp_Integrador/**
!Tp_Integrador/Tp_Integrador/**/
!Tp_Integrador/Tp_Integrador/App_data/

那样的话, git rm -r --cached . , git add . 将从添加文件 Tp_Integrador/Tp_Integrador/App_data/ ,但不来自 Tp_Integrador/Tp_Integrador/ .

6 年前
回复了 VonC 创建的主题 » github api v4-按问题数排序存储库

最好使用 GitHub GraphQL V4

Github为我们的API V4选择了GraphQL,因为它为我们的集成商提供了更大的灵活性。
与rest api v3端点相比,精确定义所需数据和仅定义所需数据的能力是一个强大的优势。 .
GraphQL让您 用一个调用替换多个rest请求以获取指定的数据 .

例如,你可以 get the total number of issues 回购协议:

{
  repository(owner: "facebook", name:"react") {
    issues {
      totalCount 
    }
  }
}

返回:

{
  "data": {
    "repository": {
      "issues": {
        "totalCount": 5308
      }
    }
  }
}

看看这篇文章” Using Github’s GraphQL to retrieve a list of repositories, their commits and some other stuff — part 2 “摘自F_bio Molinar,列出回购协议并应用该过滤器。 .

6 年前
回复了 VonC 创建的主题 » Git:如何将dist目录推送到同一存储库的单独分支

有办法推吗 dist 到同一个存储库的单独分支?

有,使用 git submodule .

  • 创建 orphan branch deploy
  • 复制您的 迪特 空repo中的文件夹内容、添加和提交以及推送。
  • 将该分支添加为 文件夹子模块。

即:

git checkout --orphan deploy
# copy your folder content
git add .
git commit -m "deploybranch folder content"
git push -u origin deploy

然后

git checkout master
git submodule add -b deploy -- /remote/url/of/your/own/repo dist
git commit -m "Add deploy branch as submodule"
git push

在你的 master 分支,您将保留对 部署 通过 迪特 根文件夹子模块。

也就是说,记住生成和部署的通常是 存储在 来源 控制文件系统,但以二进制引用形式 Nexus Artifactory :确保不要在其中保存大型二进制文件。

6 年前
回复了 VonC 创建的主题 » 如何减小git或github repo上的最大文件大小?

这不能在Github上完成(您无法控制)

你需要在当地这样做, this (for example) pre-commit hook ,以便检查提交的文件部分的大小。
但这意味着它是一个仅限于本地的解决方案,需要应用于您或您的同事正在使用的每台机器上。

这与专用的git repo托管服务器不同,在这里您可以轻松地限制侦听器的大小(类似于https的 NGiNX for example, with client_max_body_size )

6 年前
回复了 VonC 创建的主题 » 如何使用GitlabAPI列出子组的项目?

您应该能够列出 任何 通过所述组ID分组(是否分组):

见“ List a group's projects

GET /groups/:id/projects

所以首先 get a list of the subgroups 为了获取他们的ID,然后查询他们的项目。

6 年前
回复了 VonC 创建的主题 » 在远程存储库中使用Git的正确方法是什么?

服务器上远程回购的常见最佳实践是:

  • 一个空的回购(意味着您不使用ftp文件,而是强制提交这些文件)
  • 唯一(不需要两个回购)
  • 带有一个接收后挂钩,能够检测到正在推送的分支( as I did here )
  • 用一个 git checkout --force 将裸露的repo内容转换为专用的工作树( as in here )

这样,您就有两个分支,每个分支都被推到远程服务器上的裸repo,这将触发同一服务器上专用工作树(每个分支一个)的更新。
一旦 dev 分支已验证,它可以合并到 master 将分支推送到同一个裸回购,并触发目标工作树的更新。

6 年前
回复了 VonC 创建的主题 » Github Pages 200.html支持

这似乎还没有得到支持,并作为 isaacs/github issue 408 ,向GitHub请求的非官方功能。

使用 400.html instead was a "hack" seen in 2016 .

6 年前
回复了 VonC 创建的主题 » Jenkins Git ChangeLog的通知

考虑到 JENKINS Git Changelog Plugin 可以生成一个文件,作为构建后的步骤,您可以使用第二个Jenkins作业来监视这样的文件(fir实例 JENKINS FSTrigger Plugin )和发布可宽延通知。

见“ Integrating Jenkins with Slack Notifications “和 JENKINS Slack Plugin (未积极维护,但目前仍在工作)

6 年前
回复了 VonC 创建的主题 » 仅用于修改存储库Github的个人访问令牌

你可以 开始 通过重新命名 .tpattributes 但是,要检查(前后都有git状态)它不会忽略太多。

如前所述 in this answer

.tpattributes属性 不是递归的。(事实上,它们不能是,因为您可以有高级工作区映射。)
你需要一个 .tpattributes属性 在每个文件夹中。

然而,一个 .gitignore 应用于当前文件夹和下面的所有文件夹。

15 年前
回复了 VonC 创建的主题 » 从bash将parse git_分支函数转换为zsh(提示)

可能是这样 zsh Git repository 将包含一些可以给您一些提示的测试:

如“中所述 Unicode in Github markdown “,需要使用所需字符的十进制值。

在您的情况下, arrow symbols 作为 shown here :

15 年前
回复了 VonC 创建的主题 » 在贵公司使用Git(或其他一些VCS)

基本上,当将重要代码存储到存储库中时,企业将特别考虑一点:

当存储库崩溃、以任何方式损坏或需要分析时,它能从使用的VCS背后的公司得到什么样的支持?
是否有随附的SLA(服务级别协议)。

在开放源码产品中很少有这样的功能,而且您并不总是需要它(因为您几乎可以访问所有的——开放源码产品)。

在进入“与其他工具集成”部分之前,还需要考虑其他方面:

  • 管理费用
  • 备份成本(必须锁定或关闭存储库才能在一致状态下进行备份?)
  • 共同任务的速度和一般性能
  • 产品学习曲线
  • 等。。。

所有这些点都可以影响有利于商业或开源解决方案的决策。


编辑:仅供参考,我在 CM (Configuration management, pdf file) 这对商业工具有一些很好的支持或反对理由。(7.4一般讨论,第98-99页)

选择商业工具而不是免费软件的原因很多。

这样做的最有力的理由是确保安全、建立和 稳定的软件。

当选择一个免费软件工具时,会冒错误和其他更严重的缺陷的风险。 可以在应用程序中找到。
例如,较新版本可能不支持由早期版本创建的存储库。这将很快成为一个问题,因为免费软件程序不断更新和更新的版本是非常经常公开。
免费软件应用程序还依赖于用户报告应用程序中的错误和 因为是免费的,所以公司对用户没有义务 开发免费软件工具。

实现一个免费软件工具将产生大量的工作和大量的时间将被花费 跟踪最新版本、错误修复和升级应用程序。

完全相反的可以说是关于商业工具。
与免费软件应用程序相比,它们需要很少或没有更新,而且它们将以更有效的方式促进开发人员的工作。
尽管商业软件成本很高,但使用这种工具可以节省的工时将补偿您,并为您提供与产品的购买价格相对应的回收时间。

注:以上并非“绝对”真理,可能会有反例,但我相信一般论点有其优点,我在这里加上它让其他人看。

6 年前
回复了 VonC 创建的主题 » git merge base--fork point<ref>未生成任何内容

注意事项 torek 是其中的一部分 git merge-base discussion on fork-point mode .

         o---B2
        /
---o---o---B1--o---o---o---B (origin/master)
    \                   \
     B0                  D0'--D1'--D' (topic - updated)
      \
       D0---D1---D (topic - old)

警告是 存储库中较旧的reflog条目可能在以下时间到期 git gc .
如果 B0 不再出现在远程跟踪分支的重新记录中 origin/master , the --fork-point 模式显然找不到它并且失败了,避免给出随机的和无用的结果(例如b0的父级,就像没有 --叉点 选项给出)。

也, 使用的远程跟踪分支 --叉点 模式必须是主题从其尖端分叉的模式。 .
如果您从比提示更旧的提交分叉,则此模式将找不到分叉点(请想象在上面的示例历史中 B0 不存在, 起源/大师 开始于 B1 搬到 B2 然后 B 你把你的 topic origin/master^ 什么时候 起源/大师 地下一层 ;历史的形状与上面一样,没有 B0 以及 地下一层 是什么 git merge-base origin/master topic 正确的发现,但是 --叉点 模式不会,因为它不是以前处于 起源/大师 )

您可以看到其他场景,其中 git merge-base --fork-point 不工作 in this thread .
This patch series 说明当前文档。

6 年前
回复了 VonC 创建的主题 » GitIgnore类似文件约定

1和2在 gitignore man page : .gitignore 文件将是正在扫描的源文件的一部分,并将应用于 吉蒂格诺 文件夹及其下方。

它使用了 glob pattern ,像 fnmatch (意思是: no regexes )

如果这是一个实际的git回购, git check-ignore -v -- afile 可以告诉您该文件是否被忽略。

6 年前
回复了 VonC 创建的主题 » Rubymine更改Git版本

首先确保您有未安装的git,然后在磁盘范围内搜索任何其他git.exe。

您还可以使用并解压缩 latest Git for Windows 便携式档案 PortableGit-2.19.0-64-bit.7z.exe 任何你想去的地方。

然后在命令会话中设置一个简化的路径。

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
set GIT_HOME=C:\Path\to\Git
set PATH=%GIT_HOME%;%GIT_HOME%\bin;%GIT_HOME%\usr\bin;%GIT_HOME%\mingw64\bin;%PATH%

添加您需要的任何其他路径

请在该环境中重试您的命令。

我不清楚这些是否会阻止我将bitback/github中的pull请求所做的更改拉入本地工作存储库。

不,只要:

  • 你从另一个分支而不是师父
  • 或者你确实从 origin/master 到您的本地主机,但检测到“源”分支是一个源/XXX分支(在这种情况下,您允许继续提交)

任何问题 client-side hooks 然后您需要将这个钩子部署/分发给您的所有团队成员。

6 年前
回复了 VonC 创建的主题 » Git-Bash-分段故障问题(Windows)

2.9不是最新的,1:2.19是最新的。

尝试(用于测试)并解压缩 latest Git for Windows 便携式档案 PortableGit-2.19.0-64-bit.7z.exe 任何你想去的地方。

然后在命令会话中设置一个简化的路径。

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
set GIT_HOME=C:\Path\to\Git
set PATH=%GIT_HOME%;%GIT_HOME%\bin;%GIT_HOME%\usr\bin;%GIT_HOME%\mingw64\bin;%PATH%

(添加您需要的任何其他路径)

然后尝试重新生成ssh密钥。

另外,确保这与AV(反病毒)无关,如 issue 1832 issue 1291 .

我的公司也使用TrendMicro。
可以确认为 /Git/usr/bin/bash.exe 工作也一样。

对我来说 C:\Program Files\Git\usr\bin ,但将其添加到受信任程序列表确实解决了该问题。

15 年前
回复了 VonC 创建的主题 » git grep和vim中的技术

您还拥有来自git项目的这组vim命令 git grep vim ,从 tjennings .
(灵感来自 ack.vim : Plugin for the Perl module / CLI script 'ack' Miles Sterrett )

let g:gitgrepprg="git\\ grep\\ -n"

function! GitGrep(args)
    let grepprg_bak=&grepprg
    exec "set grepprg=" . g:gitgrepprg
    execute "silent! grep " . a:args
    botright copen
    let &grepprg=grepprg_bak
    exec "redraw!"
endfunction

function! GitGrepAdd(args)
    let grepprg_bak=&grepprg
    exec "set grepprg=" . g:gitgrepprg
    execute "silent! grepadd " . a:args
    botright copen
    let &grepprg=grepprg_bak
    exec "redraw!"
endfunction

function! LGitGrep(args)
    let grepprg_bak=&grepprg
    exec "set grepprg=" . g:gitgrepprg
    execute "silent! lgrep " . a:args
    botright lopen
    let &grepprg=grepprg_bak
    exec "redraw!"
endfunction

function! LGitGrepAdd(args)
    let grepprg_bak=&grepprg
    exec "set grepprg=" . g:gitgrepprg
    execute "silent! lgrepadd " . a:args
    botright lopen
    let &grepprg=grepprg_bak
    exec "redraw!"
endfunction

command! -nargs=* -complete=file GitGrep call GitGrep(<q-args>)
command! -nargs=* -complete=file GitGrepAdd call GitGrepAdd(<q-args>)
command! -nargs=* -complete=file LGitGrep call LGitGrep(<q-args>)
command! -nargs=* -complete=file LGitGrepAdd call LGitGrepAdd(<q-args>)
15 年前
回复了 VonC 创建的主题 » git grep和vim中的技术

仍在同一组Git封装中(包括 git grep 你有:

MinSCM : An abstract front-end for Mercurial/Git/Bazaar ,来自 Takeshi NISHIDA :
看到他的 Git repo

alt text http://bitbucket.org/ns9tks/vim-minscm/wiki/log.png

:MinSCMGrep[!]                  (Default mapping: \sg)

搜索指定的模式并创建QuickFix_列表。

使用的SCM命令~

  • 汞: grep -n
  • GIT: grep -n -e
  • BZR:(不可用)
15 年前
回复了 VonC 创建的主题 » git grep和vim中的技术

也检查 fugitive.vim - A Git wrapper so awesome, it should be illegal
(这是它的官方标签行;)来自 Tim Pope (见 Git repo project ):

它包括许多其他命令,其中一个用于 git grep :

call s:command("-bar -bang -nargs=? -complete=customlist,s:EditComplete Ggrep :execute s:Grep(<bang>0,<q-args>)")
call s:command("-bar -bang -nargs=* -complete=customlist,s:EditComplete Glog :execute s:Log('grep<bang>',<f-args>)")

function! s:Grep(bang,arg) abort
  let grepprg = &grepprg
  let grepformat = &grepformat
  let cd = exists('*haslocaldir') && haslocaldir() ? 'lcd ' : 'cd '
  let dir = getcwd()
  try
    execute cd.'`=s:repo().tree()`'
    let &grepprg = s:repo().git_command('--no-pager', 'grep', '-n')
    let &grepformat = '%f:%l:%m'
    exe 'grep! '.a:arg
    let list = getqflist()
    for entry in list
      if bufname(entry.bufnr) =~ ':'
        let entry.filename = s:repo().translate(bufname(entry.bufnr))
        unlet! entry.bufnr
      elseif a:arg =~# '\%(^\| \)--cached\>'
        let entry.filename = s:repo().translate(':0:'.bufname(entry.bufnr))
        unlet! entry.bufnr
      endif
    endfor
    call setqflist(list,'r')
    if !a:bang && !empty(list)
      return 'cfirst'
    else
      return ''
    endif
  finally
    let &grepprg = grepprg
    let &grepformat = grepformat
    execute cd.'`=dir`'
  endtry
endfunction