我想开始使用GitHubPages对于我的项目的网站。这只需要一个名为gh-pages的分支(子树)在repo协议(protocol)中,并提供其内容。问题是网站的一部分(手册、变更日志、下载页面...)是由构建系统自动生成的,所以我想找到将这些更改提交到gh-pages的最佳方法。分支,而主repo仍在master(或任何地方)。致力于gh-pages分支,我可以编写一个脚本,将repo克隆到一个临时目录中,进行修改,提交它们,然后将它们推回主repo。但这听起来像是一个容易出错的过程,所以我希望有更简单的方法。一位friend建议我可以添加gh-pages分支作为主存储库的子模块。
我已经设置了我的环境,所以我可以推送到远程裸存储库。我使用这些命令来设置远程存储库:$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现在我可以使用
我已经设置了我的环境,所以我可以推送到远程裸存储库。我使用这些命令来设置远程存储库:$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现在我可以使用
我不小心checkin了错误的子模块更新:(作为更大提交的一部分)-子项目提交025ffc+子项目提交f59250已经推送到远程..如何撤消此更新? 最佳答案 在子模块目录下运行gitcheckout025ffc然后gitaddSubmoduleName;gitcommit-m'Somemessage'在主目录中。(请记住,通过其哈希检查提交会使您处于“分离的HEAD状态”,这意味着您不在任何分支上。因此,如果已经有一个分支指向025ffc子模块存储库,你应该检查那个分支;否则,你可能想在那里创建一个分支并检查它。)
我不小心checkin了错误的子模块更新:(作为更大提交的一部分)-子项目提交025ffc+子项目提交f59250已经推送到远程..如何撤消此更新? 最佳答案 在子模块目录下运行gitcheckout025ffc然后gitaddSubmoduleName;gitcommit-m'Somemessage'在主目录中。(请记住,通过其哈希检查提交会使您处于“分离的HEAD状态”,这意味着您不在任何分支上。因此,如果已经有一个分支指向025ffc子模块存储库,你应该检查那个分支;否则,你可能想在那里创建一个分支并检查它。)
我有一个git子模块,我希望它成为我的主项目的一部分(因为我有很多项目特定的代码将进入子模块)。所以我想删除对子模块的git引用并将文件添加到我的主git存储库。但是如何呢? 最佳答案 您必须删除gitlinkentry在你的索引中:mvsubfoldersubfolder_tmpgitsubmoduledeinitsubfoldergitrm--cachedsubfoldermvsubfolder_tmpsubfoldergitaddsubfolder将subfolder替换为您的子模块的文件夹名称,并确保不添加任何尾部斜杠。这是
我有一个git子模块,我希望它成为我的主项目的一部分(因为我有很多项目特定的代码将进入子模块)。所以我想删除对子模块的git引用并将文件添加到我的主git存储库。但是如何呢? 最佳答案 您必须删除gitlinkentry在你的索引中:mvsubfoldersubfolder_tmpgitsubmoduledeinitsubfoldergitrm--cachedsubfoldermvsubfolder_tmpsubfoldergitaddsubfolder将subfolder替换为您的子模块的文件夹名称,并确保不添加任何尾部斜杠。这是
我有一个只有一个子模块的简单项目。$gitsubmodule964737623a362f6303e87ec41f2c7090c8c2c093lib/mongodb-php-odm(heads/master-1-g9647376)我已经对该子模块进行了更改并提交了它们,但无法将它们推送到github。$cdlib/mongodb-php-odm$gitbranch*(nobranch)master$gitremote-vorigingit@github.com:colinmollenhour/mongodb-php-odm.git$gitls-remote.964737623a362f6
我有一个只有一个子模块的简单项目。$gitsubmodule964737623a362f6303e87ec41f2c7090c8c2c093lib/mongodb-php-odm(heads/master-1-g9647376)我已经对该子模块进行了更改并提交了它们,但无法将它们推送到github。$cdlib/mongodb-php-odm$gitbranch*(nobranch)master$gitremote-vorigingit@github.com:colinmollenhour/mongodb-php-odm.git$gitls-remote.964737623a362f6
我正在使用一个git子模块(我们称它为SubmoduleRepo),这样我就可以将我的模块包含在几个项目中。我可以从任何使用它的项目提交到SubmoduleRepo。我可以毫不费力地更新、提交和推送到SubmoduleRepo。每当我在包含SubmoduleRepo的项目的目录中工作时提交某些内容时,我需要执行提交Hook(当我在SubmoduleRepo中工作时,提交Hook按预期执行)子模块的目录中没有.git文件夹(只有指定当前目录路径的.git文件)。 最佳答案 如果你有Git2.10+,你可以通过运行获取hooks目录:`