我有一个托管在github.com上的git仓库,其中包括两个分支:master和gh-pages。我希望将gh-pages分支放在一个子目录中,以便每次不必切换分支。
repo/
(content of the master branch)
gh-pages/
(content of the gh-pages branch)
这是可能的吗?
我有一个托管在github.com上的git仓库,其中包括两个分支:master和gh-pages。我希望将gh-pages分支放在一个子目录中,以便每次不必切换分支。
repo/
(content of the master branch)
gh-pages/
(content of the gh-pages branch)
这是可能的吗?
您可能正在寻找子树合并选项。
它将允许您将一个不相关的分支检出到另一个分支的子目录中,然后在它们之间来回合并。但是,在推送到GitHub之前,您仍然需要检出gh-pages分支并合并主存储库中的更改。
如果这更适合您,您还可以将gh-pages作为主分支的子模块进行检出。
git worktree add -b gh-pages ../gh-pages origin/gh-pages
那么,
.
目录中是 master
分支,在 ../gh-pages
目录中是分支 gh-pages
。git pull
和 git push actions
来工作。patch-1
。注:
gh-pages
的内容。有关详细信息,请参见actions-gh-pages。master
checkout 的子目录内容放入 github 的 gh-pages
中,请使用 https://github.com/X1011/git-directory-deploy 提供的脚本。deploy.sh
文件吗? - fiatjafdeploy.sh
。请查看提供的 README.md 文件中的 configuration 标题下面的内容:https://github.com/X1011/git-directory-deploy#configuration - koppor事情的设计并不是这样的。理论上,您可以在原始克隆的子目录中克隆存储库,并将该目录标记为从更高级别的存储库中排除,但是将其检出到完全不同的目录而不是子目录中不是更简单吗?
也就是说...
/repo/master/(clone on master branch)
然后再克隆另一个位于另一分支上的副本。
/repo/gh-pages/(clone on gh-pages branch)
gh-pages
目录对他们来说将完全没有用处。即使他们在 GitHub 上托管了自己的副本,gh-pages
目录对他们来说也可能是无关紧要的。gh-pages
分支,他们可以删除它,对 master
没有任何影响。我尝试过使用 git subtree
技巧,但它要求将所有的 gh-pages
内容提交到 master
分支中,这在这种情况下并不理想。更好、更简单的方法是:
./repo/gh-pages/
目录下创建一个新目录.gitignore
文件中添加一行(指向 gh-pages
目录)cd gh-pages/
,执行 git init
和 git checkout -b gh-pages
命令,在该目录下创建一个独立的 git 远程分支你也可以直接使用 git clone
命令将所需分支克隆到 ./gh-pages/
目录下。
Git中的分支是指向提交(移动的)的指针,因此将分支作为子目录是不可能的。
公平地说,git co gh-pages
并不比cd ../gh-pages
难多少