-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Ed Ball edited this page Apr 24, 2023
·
15 revisions
Follow these steps to create a new project/repo based on the faithlife-build
template. It is assumed that the project name has one or more periods, e.g., Faithlife.Xyz
, and the repo name does not, e.g., FaithlifeXyz
. In the instructions below, replace these terms with your project's/repo's name as appropriate.
- Create a new repository at https://github.com/Faithlife. (Don't initialize with any files.)
- In Settings, disable Wiki and Projects.
- Add team Faithlife/Coders with Admin permission.
- Add collaborator faithlifebuildbot with Write permission.
git clone https://github.com/Faithlife/FaithlifeXyz.git
cd FaithlifeXyz
git remote add template https://github.com/Faithlife/CSharpTemplate.git --no-tags -t faithlife-build
git fetch template
For a new repository with no commits:
git checkout -b master
git merge template/faithlife-build
For a repository with existing commits:
git merge --no-commit --allow-unrelated-histories template/faithlife-build
dotnet tool update Faithlife.FindReplaceCode.Tool --global
findreplacecode . ProjectName Faithlife.Xyz RepoName FaithlifeXyz
git add -A
git commit -m "Replace template placeholders."
git push -u origin master
- On the main repository page, provide a reasonable description.
- Change the description in
README.md
andFaithlife.Xyz.csproj
to match. - Consider adding matching tags to the repository and to
Faithlife.Xyz.csproj
.
- In Settings, set GitHub Pages to
master
branch and/docs
folder. - On the repository home page, use
https://faithlife.github.io/FaithlifeXyz/
as the website. - Uncheck Releases, Packages, and Environments.
If the template changes in the future, it is easy to integrate into repositories that use it.
git fetch template
git merge --no-commit template/faithlife-build
Resolve any merge conflicts, run the test suite, etc. If everything passes, commit and push the changes.
Make sure you have no uncommitted changes, then:
git checkout --orphan docs
git clean -fdx
git rm -rf .
git merge --no-commit --allow-unrelated-histories template/faithlife-docs
etc.