小编Phi*_*ley的帖子

如何git捆绑一个完整的回购

我需要将完整的repo转移到新的非联网机器,最好是作为单个文件实体.git的捆绑允许git fetch,git pull操作风格在sneakernet环境,但似乎假设你已经在目标计算机上回购的工作版本.

什么是正确的调用:

  1. 捆绑当前仓库中的所有分支
  2. 在目标目录上启动新的repo,即正确安装root commit

git

103
推荐指数
2
解决办法
5万
查看次数

什么应该在git描述文件中?

在初始化新的本地存储库后,存在一个description文件.

它用于什么以及如何格式化?或者它只是一个本地帮助文件.

这个线程访问git的`description'文件建议一种风格,但没有手册页或其他参考,为什么它应该是它的方式.

git

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

git移植和替换有何不同?(移植物现在已被弃用吗?)

有极少数的Q&A的上的git graftsreplace.搜索[git] + grafts + replace只发现了两个与5. what-are-git-info-grafts-forgit-what-a-a-graftcommit-or-a-graft-id相关的两个.git.wiki.kernel.org:GraftPoint上还有一个注释

被移植现在完全取代replacefilter-branch,或者他们仍然需要一些特殊的情况(和向后兼容)?

一般来说,它们如何不同(例如哪些在回购之间运输),它们通常是如何相同的?我已经看到Linus似乎并不关心目前在关于提交代数的讨论(最大父母回到任何根种类)的问题"移植已经不可靠了."

编辑:找到更多信息.
搜索www.kernel.org/pub/software/scm/git/docs graft仅找到3个结果:

  1. GIT-滤波器分支(1),
  2. v1.5.4.7/GIT-滤波器分支(1),
  3. v1.5.0.7/GIT-s​​vn的(1).

稍微宽泛的搜索发现RelNotes/1.6.5.txt包含:

  • refs/replace/hierarchy被设计为可用作"移植"机制的替代,其附加优势是它可以跨存储库传输.

不幸的是,gitrepository-layout(5)还没有更新refs/replace/repository布局信息(和注释),也没有任何信息/移植的弃用说明.

这更接近支持我的想法,但我欢迎任何确认或澄清.

git

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

为什么我不能从浅层克隆中推出?

git clone --depth命令选项说

--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. 
Run Code Online (Sandbox Code Playgroud)

为什么浅克隆有这种限制?为什么它只是一个补丁工作流程?

对于某些项目工作流程,我需要将最新的提交从单个分支传递给编码器,然后让它们能够push(快进)开发到主服务器.这部分是为了安全,知识产权保护和回购规模,部分是为了减少大回购会给天真编码员带来的困惑.是否有允许这样的git工作流程?


更新:根据Karl Bielefeldt的回答,git checkout --orphan …

git workflow git-clone

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

如何在sneakernet环境中使用Git?

我的项目有许多测试PC,100%的网络外.我们使用USB驱动器也可以从这些PC传输文件.在这些PC的测试期间发生了一些开发.我们传输更新文件的拉链,并在zip文件的名称中编码"版本信息".

我的问题是如何最好地使用Git来管理项目的办公室PC和测试PC之间的sneakernet文件传输(或repos,或什么?).对于笔记本电脑用户而言,这种"用例"通常不会出现在"网外"并且在某个角落咖啡馆中开发,后来又重新上网.

有没有人在这种情况下有经验?


另请参阅git bundle create --all answer以传输完整的repo

git version-control msysgit

20
推荐指数
2
解决办法
2822
查看次数

如何只为一个目录级别`git ls-files`.

我正在使用msysgit(1.7.9),我正在寻找正确的git ls-files命令调用,以显示当前级别的(跟踪的)文件和目录,无论是从索引还是当前工作目录,如果这是更轻松.

基本上它会给出一个类似于你在Github上看到的目录列表.来自Windows,我不太熟悉正确的方法(?).

git ls glob

18
推荐指数
4
解决办法
1万
查看次数

在git中,commit(s)和revision(s)之间有什么区别

有许多git命令,例如git clone --depth 10 <repo>,需要给出修订[ git help revisions] 的数量.

提交和修订之间有什么区别(在git中,而不是说svn)?

或者在尝试计算修订/提交时它是否只显示复数形式,例如,必须通过走向提交及其父母的DAG(有向无环图)或其他一些仔细区分来计算修订?

git version-control

14
推荐指数
2
解决办法
7584
查看次数

是否有Git-Gui选项对话框的帮助页面?

Git-Gui有选项设置(在编辑>>选项下).每个选项设置的某处是否有描述?

我知道Git-Gui 手册页和Git-config 手册页命令行有Man页面,但我找不到任何将选项对话框复选框绑定到潜在命令行选项的内容.(控制问题的反转;-)

我在Git 1.7.3.1.msysgit.0和Git-Gui 0.3.GITGUI上有比Nathanj的nathanj.github.com/gitguide/creating.html"Windows上的Git指南" 更多的选项

git git-gui

11
推荐指数
1
解决办法
3147
查看次数

我应该如何管理Git中的测试工具 - 他们应该在一个单独的回购中吗?

我有一个大型(ish)项目[90个文件650kb代码],我现在在Git中管理.我有一些独立的测试工具用于尝试/测试新的低级别计算位,这些位稍后合并到主代码及其分支中(目前通过复制粘贴!).

管理测试线束的推荐最佳实践是什么?

它们应该在一个单独的存储库中,还是应该在主仓库中创建一个空分支来启动它,或者只是创建一个"Test Harness"分支并覆盖旧代码?

希望的好处是主分支中的测试代码将与测试的代码明显"相同".

我在Windows(msysgit)上,我是在公司中使用Git的'探险家'.

git testing branching-and-merging

9
推荐指数
1
解决办法
528
查看次数

暂存区域内的基础git合并过程是什么?

Git做了merge魔术,然后让用户解决真正的冲突,这应该是应有的.我正在寻找基本git合并的方式和原因以及它如何使用暂存区域的低级描述.

我刚读了Git的比喻,并在评论这里

即使考虑到它是"比喻"而不是重述Git历史的事实(顺便提一下你可以在Git Wiki上找到一些细节),有一点仍然存在:解释临时区域是IMVHO的不良做法在将更改拆分为多个提交和/或与dity树进行匹配的方面,即未更改某些更改.临时区域的主要优势(除了是隐含待添加区域的其他SCM的显式版本)正在处理CONFLICTED MERGE,我认为应该如何解释它.

git merge 手册页识别阶段合并的1/2/3元素,但显然不会进入理由和目的的细节.

民间可以就任何关于git如何以及为什么设法达到其他人没有的结果的文章提出建议(除了在Wincent博客中详细介绍的Linus V Bram ),即所谓的琐碎部分?

大多数网络文章都假设合并"刚刚发生",我没有找到解释问题的任何东西(例如需要小提交,共同提交的价值等).

git merge

9
推荐指数
1
解决办法
350
查看次数