草庐IT

Git 使用子树或子模块管理外部资源

我读了很多关于git子模块应该有多糟糕的文章,但我不确定这是否只是那些认为它有局限性的人的提示,或者它是否有严重的问题(尤其是关于我的用例)。我只是想像这样在我的repo中包含不同的repowebsite/libs/js/fs-slides[external]fs-dialog[external]并且必须有可能轻松更新这些存储库。据我所知,从repo协议(protocol)中只包含一个文件并不容易,对吗?(不过没关系。)我应该为此使用子模块吗?或者它有什么问题吗?还是子树更容易? 最佳答案 子模块非常适合您的情况,特别是因为您不介意

Git 使用子树或子模块管理外部资源

我读了很多关于git子模块应该有多糟糕的文章,但我不确定这是否只是那些认为它有局限性的人的提示,或者它是否有严重的问题(尤其是关于我的用例)。我只是想像这样在我的repo中包含不同的repowebsite/libs/js/fs-slides[external]fs-dialog[external]并且必须有可能轻松更新这些存储库。据我所知,从repo协议(protocol)中只包含一个文件并不容易,对吗?(不过没关系。)我应该为此使用子模块吗?或者它有什么问题吗?还是子树更容易? 最佳答案 子模块非常适合您的情况,特别是因为您不介意

git - 如何将 git repo 添加为自身的子模块? (或 : How to generate GitHub Pages programmatically? )

我想开始使用GitHubPages对于我的项目的网站。这只需要一个名为gh-pages的分支(子树)在repo协议(protocol)中,并提供其内容。问题是网站的一部分(手册、变更日志、下载页面...)是由构建系统自动生成的,所以我想找到将这些更改提交到gh-pages的最佳方法。分支,而主repo仍在master(或任何地方)。致力于gh-pages分支,我可以编写一个脚本,将repo克隆到一个临时目录中,进行修改,提交它们,然后将它们推回主repo。但这听起来像是一个容易出错的过程,所以我希望有更简单的方法。一位friend建议我可以添加gh-pages分支作为主存储库的子模块。

git - 如何将 git repo 添加为自身的子模块? (或 : How to generate GitHub Pages programmatically? )

我想开始使用GitHubPages对于我的项目的网站。这只需要一个名为gh-pages的分支(子树)在repo协议(protocol)中,并提供其内容。问题是网站的一部分(手册、变更日志、下载页面...)是由构建系统自动生成的,所以我想找到将这些更改提交到gh-pages的最佳方法。分支,而主repo仍在master(或任何地方)。致力于gh-pages分支,我可以编写一个脚本,将repo克隆到一个临时目录中,进行修改,提交它们,然后将它们推回主repo。但这听起来像是一个容易出错的过程,所以我希望有更简单的方法。一位friend建议我可以添加gh-pages分支作为主存储库的子模块。

远程裸机上的 Git 子模块

我已经设置了我的环境,所以我可以推送到远程裸存储库。我使用这些命令来设置远程存储库:$mkdir~/website.git&&cd~/website.git$gitinit--bare和$cat>hooks/post-receive#!/bin/shGIT_WORK_TREE=/var/www/websitegitcheckout-f$chmod+xhooks/post-receive在我的本地环境中:$gitremoteaddwebssh://website.com/home/website.git$gitpushweb+master:refs/heads/master现在我可以使用

远程裸机上的 Git 子模块

我已经设置了我的环境,所以我可以推送到远程裸存储库。我使用这些命令来设置远程存储库:$mkdir~/website.git&&cd~/website.git$gitinit--bare和$cat>hooks/post-receive#!/bin/shGIT_WORK_TREE=/var/www/websitegitcheckout-f$chmod+xhooks/post-receive在我的本地环境中:$gitremoteaddwebssh://website.com/home/website.git$gitpushweb+master:refs/heads/master现在我可以使用

git - 如何撤消 git 子模块更新

我不小心checkin了错误的子模块更新:(作为更大提交的一部分)-子项目提交025ffc+子项目提交f59250已经推送到远程..如何撤消此更新? 最佳答案 在子模块目录下运行gitcheckout025ffc然后gitaddSubmoduleName;gitcommit-m'Somemessage'在主目录中。(请记住,通过其哈希检查提交会使您处于“分离的HEAD状态”,这意味着您不在任何分支上。因此,如果已经有一个分支指向025ffc子模块存储库,你应该检查那个分支;否则,你可能想在那里创建一个分支并检查它。)

git - 如何撤消 git 子模块更新

我不小心checkin了错误的子模块更新:(作为更大提交的一部分)-子项目提交025ffc+子项目提交f59250已经推送到远程..如何撤消此更新? 最佳答案 在子模块目录下运行gitcheckout025ffc然后gitaddSubmoduleName;gitcommit-m'Somemessage'在主目录中。(请记住,通过其哈希检查提交会使您处于“分离的HEAD状态”,这意味着您不在任何分支上。因此,如果已经有一个分支指向025ffc子模块存储库,你应该检查那个分支;否则,你可能想在那里创建一个分支并检查它。)

git - 删除 git 子模块但保留文件

我有一个git子模块,我希望它成为我的主项目的一部分(因为我有很多项目特定的代码将进入子模块)。所以我想删除对子模块的git引用并将文件添加到我的主git存储库。但是如何呢? 最佳答案 您必须删除gitlinkentry在你的索引中:mvsubfoldersubfolder_tmpgitsubmoduledeinitsubfoldergitrm--cachedsubfoldermvsubfolder_tmpsubfoldergitaddsubfolder将subfolder替换为您的子模块的文件夹名称,并确保不添加任何尾部斜杠。这是

git - 删除 git 子模块但保留文件

我有一个git子模块,我希望它成为我的主项目的一部分(因为我有很多项目特定的代码将进入子模块)。所以我想删除对子模块的git引用并将文件添加到我的主git存储库。但是如何呢? 最佳答案 您必须删除gitlinkentry在你的索引中:mvsubfoldersubfolder_tmpgitsubmoduledeinitsubfoldergitrm--cachedsubfoldermvsubfolder_tmpsubfoldergitaddsubfolder将subfolder替换为您的子模块的文件夹名称,并确保不添加任何尾部斜杠。这是