![]() |
1
2262
可能最简单的方法是
大多数时候,我需要从git“导出”一些东西,无论如何,我需要一个压缩的归档文件,所以我会这样做。
压缩档案:
请注意,即使存档文件不包含.git目录,它也将包含其他隐藏的特定于git的文件,如.git ignore和.gitattributes等。如果不希望这些文件包含在存档文件中,请确保在执行存档之前使用.gitattributes文件中的export ignore属性并提交此属性。 Read more... 注意:如果您对导出索引感兴趣,命令是
(见 Greg's answer 更多详细信息) |
![]() |
2
307
我发现了选项2的含义。从存储库中,可以执行以下操作:
路径末尾的斜杠很重要,否则将导致文件位于/destination中,前缀为'path'。 因为在正常情况下,索引包含存储库的内容,所以对于“将所需的树读取到索引中”没有什么特别的操作。它已经在那里了。
这个
这似乎是我正在寻找的那种“git导出”。 |
![]() |
3
243
要导出repo中的特定路径,请添加任意多的路径作为git的最后一个参数,例如:
|
![]() |
4
51
如果存储库托管在GitHub上,则是一个特殊的案例答案。
只使用
据我所知,Github不允许
例如,要导出整个存储库,请注意
您可以导出单个文件,甚至是某个路径或文件夹:
实例与 jQuery JavaScript Library
这个
非
所有
标签
在下面
|
![]() |
5
38
从 Git Manual : 使用git checkout index“导出整棵树” 前缀功能基本上使使用git checkout索引作为“export as tree”函数变得简单。只需将所需的树读取到索引中,然后执行以下操作:
|
![]() |
6
38
我写了一个简单的包装纸
如果目标目录已经存在,则需要添加
安装很简单;只需将脚本放到
|
![]() |
7
36
似乎这与Git相比不是SVN的问题。Git只将.git文件夹放在存储库根目录中,而SVN将.svn文件夹放在每个子目录中。所以“svn导出”避免了递归命令行的魔力,而对于git递归则不需要。 |
![]() |
8
26
相当于
在现有回购协议中
相当于
是
|
![]() |
9
22
如果不排除
和
此外,您可以从特定的提交修订中获取任何分支或标记,比如在SVN中,只需添加sha1(git中的sha1相当于SVN中的修订号)。
这个
更新:
为了避免斩首问题,或者在使用带标记、分支或sha1的导出签出时保持工作存储库的完整性,需要添加
双冲刺
实例:
此命令将只获取libs目录以及
这将创建(覆盖)
得到另一个分支机构的出口
注意到
|
![]() |
10
21
我广泛使用Git子模块。 这个适合我:
|
![]() |
11
18
在寻找导出Git存储库的方法时,我经常点击此页面。我对这个问题的回答考虑了与Git相比,SVN导出在设计上具有的三个属性,因为SVN采用集中存储库方法:
当构建某个发布时,克隆一个稳定的分支是有用的,例如
|
![]() |
12
16
这将复制除.dot文件之外的所有内容。我用这个将git克隆的项目导出到我的web应用程序的git repo中,而不使用.git文件。
简单的老巴什很有用:) |
![]() |
13
12
与克隆一样简单,然后删除.git文件夹:
|
![]() |
14
10
我只是想指出,如果你是
那你就可以用
|
![]() |
15
10
对于GitHub用户,
这将在本地目录中为您提供导出的代码。例子:
编辑
|
![]() |
16
10
对, this 是一个干净整洁的命令,可以将代码存档,而不在存档中包含任何Git,并且可以在不担心任何Git提交历史的情况下传递代码。
|
![]() |
17
9
您可以将任何提交时的远程报告存档为zip文件。
|
![]() |
18
8
Git导出的bash实现。 我已经根据自己的功能对.empty文件创建和删除过程进行了分段,目的是在“git archive”实现中重新使用它们(稍后将发布)。 我还向进程添加了“.gitattributes”文件,以便从目标导出文件夹中删除不需要的文件。 在使“git export”功能更高效的同时,还包括对流程的详细描述。 empty_file=“空”;
|
![]() |
19
8
如果你想要与子模块一起工作的东西,这可能值得一试。 注:
假设:
|
![]() |
20
6
这将把提交范围(C到G)内的文件复制到一个tar文件。注意:这只会提交文件。不是整个存储库。略改自 Here 提交历史记录示例 A-->B--> C-->D-->E-->F-->G -->h-->i
-R-->递归到子树 --没有提交ID-->git diff tree会在适用时输出带有提交ID的行。此标志抑制了提交ID输出。 --仅显示名称-->仅显示更改文件的名称。 --diff filter=acmrt-->仅选择这些文件。 See here for full list of files C..G-->此提交范围内的文件 c~-->包括来自commit c的文件。不只是commit c之后的文件。 | xargs tar-rf mytarfile-->输出到tar |
![]() |
21
5
我最喜欢的是 迪特 目标位于生成文件(或其他生成系统)中,该文件导出代码的可分发存档文件(.tar.bz2、.zip、.jar或任何适当的文件)。如果您碰巧使用GNU Autotools或Perl的MakeMaker系统,我认为这是自动存在的。如果没有,我强烈建议添加它。 埃塔(2012-09-06):哇,严厉的否决。我仍然相信使用构建工具而不是源代码控制工具来构建发行版更好。我相信用构建工具构建工件。在我目前的工作中,我们的主要产品是以Ant为目标构建的。我们正处在转换源代码控制系统的过程中,而这个Ant目标的出现意味着迁移的麻烦就少了一点。 |
![]() |
22
4
我需要这一个部署脚本,我不能使用上面提到的任何方法。相反,我想出了一个不同的解决方案:
|
![]() |
23
4
这样做很简单,这是一个.bash_配置文件的函数,它直接解压缩当前位置的存档文件,首先配置您通常使用的[url:path]。注意:使用此功能可以避免克隆操作,它直接从远程repo获取。
.gitconfig的别名,需要相同的配置(注意在.git项目中执行该命令,它以前总是跳转到基目录 as said here 在这个问题解决之前,我个人更喜欢这个功能
|
![]() |
24
3
我想
@Aredridel
的帖子是最接近的,但还有一点-所以我会在这里加上这个;事情是,在
然后
意识到
…还有:
…无论如何,我注意到
…但显然这两个案例都设定了 每个 从而“文件”; 不 保留这些文件的实际时间戳!
因此,为了同时保留时间戳,这里是
注意,假设您正在导出“当前”目录中的内容(上面,
运行脚本后,您应该能够比较:
…希望看到相同的时间戳(对于那些受版本控制的文件)。
希望这能帮助别人,
|
![]() |
25
3
到目前为止,我看到的最简单的方法是
有关详细信息,请参阅此答案: How can I copy my git repository from my windows machine to a linux machine via usb drive? |
![]() |
26
3
如果您在要创建导出的计算机上有存储库的本地副本,我还有另一个可以正常工作的解决方案。在这种情况下,请移动到此存储库目录,然后输入以下命令:
如果您使用Git存储库管理一个网站,并且希望在
|
![]() |
27
3
正如我理解的问题,它更多的是从服务器下载特定的状态,没有历史记录,也没有其他分支的数据,而不是从本地存储库提取状态(就像这里的许多anwser一样)。 可以这样做:
|
![]() |
28
2
如果您也需要子模块,这应该可以做到: https://github.com/meitar/git-archive-all.sh/wiki |
![]() |
29
2
添加前缀(例如目录名)时,Git导出到zip存档:
|
![]() |
30
1
我在.bashrc文件中有以下实用程序功能:它在Git存储库中创建当前分支的存档。
|
![]() |
Igor Santos de Lima · 导出要在控制台上运行的函数 6 年前 |
![]() |
ksroogl · 将MICE对象导入Stata进行分析 6 年前 |
![]() |
Tyler S · Powershell脚本服务器ping输出 7 年前 |
![]() |
Austin · 从Excel VBA导出数据以访问 7 年前 |
![]() |
J Dev · 自定义p:dataTable的导出输出格式 7 年前 |