小编max*_*bin的帖子

git hooks:有没有克隆钩子?

我们希望在外部数据库中存储有关提交的一些元信息.在克隆或结帐期间,应该引用此数据库,并将元信息复制到克隆的repo中的文件.数据库是必需的而不是仅仅使用文件是为了索引和搜索等...

我想如果有一个克隆钩子,我们可以触发它.我在.git/hooks中找不到样本中的克隆挂钩.有吗?客户端是唯一的可能性是post-checkout hook?

git git-clone githooks

30
推荐指数
4
解决办法
2万
查看次数

在git中应用补丁时出错

我有一个浅的克隆,我做了三次提交.这是日志:

$ git log --oneline --graph --decorate --all
*d3456fd(HEAD,master)patch 3
*9713822 patch 2
*6f380a6 patch 1
*8a1ce1e(origin/master,origin/HEAD)from full clone
*7c13416 from浅
*3b3ed39已删除电子邮件
*cfbed6c进一步修改
*a71254b已添加为版本2.1
*7347896(已嫁接)更改为版本2

现在我从这里创建一个补丁:

$ git format-patch -k --stdout origin> ../format_since_origin.patch

我想在另一个克隆中应用此补丁,这是一个完整的克隆.
这是日志:

$ git log --oneline --graph --decorate --all
*8a1ce1e(HEAD,origin/master,master)from full clone
*7c13416 from shallow
*3b3ed39 removed email
*cfbed6c进一步修改
*a71254b添加发布2.1
*7347896更新发布2
*b1a8797更改为ttwo文件
*603710c更改测试报告
*16b20b3添加test_report.txt
*f0871ea修改file1.xml
*dd94bfc添加file1.xml
*00758aa第二次提交
*49f9968首次提交

我无法应用从上面浅层克隆创建的补丁.我收到以下错误.

$ git am -3 /c/temp/git/format_since_origin.patch
应用:补丁1
使用索引信息重建基础树...
错误:补丁失败:file1.c:6
错误:file1.c:补丁不适用
你有手编辑你的补丁吗?
它不适用于其索引中记录的blob.
不能回退到三方合并.
补丁在0001补丁1失败
当你解决了这个问题后,运行"git am …

git

15
推荐指数
3
解决办法
3万
查看次数

excel图表不接受x轴上的日期时间序列

如何使excel接受以下作为x轴上的不同数据点.

    Time                Licenses Used
    2013-07-09 11:34    512
    2013-07-09 11:36    523
    2013-07-09 11:40    621
    2013-07-09 11:43    125
    2013-07-10 09:30    526
    2013-07-10 10:30    589
    2013-07-10 11:30    546
    2013-07-11 10:40    549
Run Code Online (Sandbox Code Playgroud)

为什么Excel图表总是在一起约会,为什么不能将它解释为不同的时间条目?

excel

12
推荐指数
2
解决办法
7万
查看次数

当git注释中存在合并冲突时合并它们

我做了以下几点来合并Git笔记.
参考:http ://vmiklos.hu/blog/git-notes-merge

我克隆了一个repo,添加了对commit的引用(refs/notes/commits).当我推送它时,中央仓库拒绝它,因为它是非快速前进 - 因为已经存在该提交对象的refs/notes/commit.因此,为了将远程Notes引用合并到我的本地Notes引用,

  1. git checkout refs/notes/master
  2. git fetch refs/notes/commit
  3. git merge FETCH_HEAD
    自动合并206155715a78c9d91d42cda1de98449d2e0b1d36
    CONFLICT(add/add):合并冲突206155715a78c9d91d42cda1de98449d ........
    自动合并失败; 修复冲突,然后提交结果.
  4. vi 206155715a78c9d91d42cda1de98449d ........ [手动修复冲突]
  5. git add 206155715a78c9d91d42cda1de98449d ........
  6. git commit -m"updated Notes"
    [已分离的HEAD 0afb80f]更改了备注
  7. git update-ref refs/notes/commits HEAD
  8. git checkout master
    上一个HEAD位置是0afb80f ...已更改注释
    切换到分支'master'
  9. git push origin refs/notes/commit
    成功

问题是,这是否是最好的方法呢?

在git notes man page之后,我尝试了以下内容.

  1. git fetch refs/notes/commit
  2. git notes merge -v refs/notes/commits
    无需更新!

以上步骤显然对我有用.有没有办法使用git notes merge命令并合并Notes,而不是第一个插图中所示的"分支方法"?对于我的用户来说,这个简单的命令会更有帮助.

git

8
推荐指数
1
解决办法
1911
查看次数

将Git注释添加到blob中

我试图用git实现一个用例.

使用案例:应该可以将元数据(如属性)添加到git工件.

我们计划为每个组件设置一个git repo,因此为每个提交对象应用一个注释可以实现此要求.

现在,还需要我们为组件中的文件提供元数据(在本例中为git repo).为此,我试图将一个注释附加到一个blob,这是一个提交的一部分.

它接受了笔记,甚至我能够将笔记推到中央仓库.

对于这个用例,这是一个安全可靠的git笔记用法吗?

git

7
推荐指数
1
解决办法
2839
查看次数

什么是浅层克隆的局限性

在我们尝试引入Git的组织中,我们现在遇到与二进制文件相关的Git行为问题.
我们的项目将混合使用二进制和文本类型文件,典型大小可以是1 GB.我们担心几年后完整克隆会变得太大并导致性能和磁盘空间问题.
迁移到Git的环境之一将其SW当前放在名为TCM的系统上.版本为7 - 10年的存储库总大小为2 TB.
ClearCase的另一个环境大约有7到8年的数据,大约1 TB.
由于Git不会以特别影响二进制文件的增量存储,因此5年以上的情况会引起用户的关注.
浅克隆功能将是理想的.但是文档说这个"浅的存储库有许多限制(你不能克隆或获取它,也不能从中推送或插入它),但如果你只对一个长期的大型项目的近期历史感兴趣就足够了历史,并希望将修补程序作为补丁发送." 粗略检查浅克隆将表明它工作正常,但绝对有已知的用例,它不会工作,因此文档
是否有一个已知的用例列表,这不会工作?

git

6
推荐指数
1
解决办法
1087
查看次数

如何在所有提交中更新子模块URL

用例是我必须将某些存储库移动到新服务器.所以这些存储库得到了一个新的URL.
引用这些子模块的父项目需要使用子模块的新URL进行更新.
我想做以下事情.

  1. 更新.gitmodules文件
  2. git子模块同步
  3. git子模块更新
  4. 提交和推送

但是,由于先前的提交具有.gitmodule的早期版本,如果我签出父项目的先前提交 - 它不会查找旧服务器吗?


为了确保可重复性,我们需要让所有旧提交都能正常工作.有没有想过绕过这个?

git git-submodules

5
推荐指数
1
解决办法
1097
查看次数

标签 统计

git ×6

excel ×1

git-clone ×1

git-submodules ×1

githooks ×1