Skip to content

Commit

Permalink
markdown source builds
Browse files Browse the repository at this point in the history
Auto-generated via `{sandpaper}`
Source  : 986b30b
Branch  : main
Author  : Dimitrios Theodorakis <[email protected]>
Time    : 2024-12-19 14:51:40 +0000
Message : MetOffice#98 Capitalise Git and GitHub
  • Loading branch information
actions-user committed Dec 19, 2024
1 parent ebd0a36 commit 365f610
Show file tree
Hide file tree
Showing 17 changed files with 55 additions and 55 deletions.
2 changes: 1 addition & 1 deletion 01-basics.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ the same files concurrently.

If you currently use [FCM](https://metomi.github.io/fcm/doc/user_guide/getting_started.html)
(a wrapper around Subversion, SVN) then look out for the following dropdowns.
They contain the FCM equivalent for git commands.
They contain the FCM equivalent for Git commands.

::: spoiler

Expand Down
2 changes: 1 addition & 1 deletion 03-create.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ fatal: Not a git repository (or any of the parent directories): .git
## Correcting `git init` Mistakes

A colleague explains to you how a nested repository is redundant and may cause confusion
down the road. You would like to go back to a single git repository.
down the road. You would like to go back to a single Git repository.
How can you undo the last `git init` in the `clouds` subdirectory?

::::::::::::::: solution
Expand Down
10 changes: 5 additions & 5 deletions 04-changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ Our repository now looks like this:

```mermaid
gitGraph
accDescr {A git graph showing the root-commit on the main branch and a new forecast branch, branching off the root-commit, with one commit.}
accDescr {A Git graph showing the root-commit on the main branch and a new forecast branch, branching off the root-commit, with one commit.}
commit id: 'Initial commit'
branch forecast
commit id: 'Create a md file with the forecast'
Expand Down Expand Up @@ -441,7 +441,7 @@ Our repository now looks like this:

```mermaid
gitGraph
accDescr {A git graph showing the root-commit on the main branch and a new forecast branch, branching off the root-commit, with two commits.}
accDescr {A Git graph showing the root-commit on the main branch and a new forecast branch, branching off the root-commit, with two commits.}
commit id: 'Initial commit'
branch forecast
commit id: 'Create a md file with the forecast'
Expand Down Expand Up @@ -557,7 +557,7 @@ Our repository now looks like this:

```mermaid
gitGraph
accDescr {A git graph showing the root-commit on the main branch and a new forecast branch, branching off the root-commit, with three commits.}
accDescr {A Git graph showing the root-commit on the main branch and a new forecast branch, branching off the root-commit, with three commits.}
commit id: 'Initial commit'
branch forecast
commit id: 'Create a md file with the forecast'
Expand Down Expand Up @@ -604,7 +604,7 @@ Two important facts you should know about directories in Git.
you can add all files in the directory at once by:

```bash
git add <directory-with-files>
$ git add <directory-with-files>
```

Try it for yourself:
Expand Down Expand Up @@ -801,7 +801,7 @@ $ mkdir bio
$ cd bio
```

Initialise git:
Initialise the repository:

```bash
$ git init
Expand Down
2 changes: 1 addition & 1 deletion 05-history.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ $ git log --decorate --oneline --graph
```

`--decorate` ensures commits with reference names[^refs] are displayed
when using older versions of git.
when using older versions of Git.

[^refs]: [References](https://git-scm.com/book/ms/v2/Git-Internals-Git-References)
in Git are user friendly links to specific commits.
Expand Down
2 changes: 1 addition & 1 deletion 06-ignore.md
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@ none of them will be ignored, and all `.csv` files will be tracked.
## Log Files

You wrote a script that creates many intermediate log-files of the form `log_01`, `log_02`, `log_03`, etc.
You want to keep them but you do not want to track them through `git`.
You want to keep them but you do not want to track them through Git.

1. Write **one** `.gitignore` entry that excludes files of the form `log_01`, `log_02`, etc.

Expand Down
8 changes: 4 additions & 4 deletions 07-github.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ As soon as the repository is created, GitHub displays a page with a URL and some
information on how to configure your local repository.
Ignore the suggested commands for now as we will run these later.

![](fig/github-create-repo-03.png){alt='The summary page displayed by GitHub after a new repository has been created. It contains instructions for configuring the new GitHub repository as a git remote'}
![](fig/github-create-repo-03.png){alt='The summary page displayed by GitHub after a new repository has been created. It contains instructions for configuring the new GitHub repository as a Git remote'}

This effectively does the following on GitHub's servers:

Expand All @@ -86,7 +86,7 @@ which looked like this:

Now that we have two repositories, we need a diagram like this:

![](fig/git-freshly-made-github-repo.svg){alt='A diagram illustrating how the GitHub "weather" repository is also a git repository like our local repository, but that it is currently empty'}
![](fig/git-freshly-made-github-repo.svg){alt='A diagram illustrating how the GitHub "weather" repository is also a Git repository like our local repository, but that it is currently empty'}

Note that our local repository still contains our earlier work on `forecast.md`, but the
remote repository on GitHub appears empty as it doesn't contain any files yet.
Expand Down Expand Up @@ -124,7 +124,7 @@ Make sure to use the URL for your repository: the only
difference should be your username instead of `mo-eormerod`.

`origin` is a local name used to refer to the remote repository. It could be called
anything, but `origin` is a convention that is often used by default in git
anything, but `origin` is a convention that is often used by default in Git
and GitHub, so it's helpful to stick with this unless there's a reason not to.

We can check that the command has worked by running `git remote -v`:
Expand Down Expand Up @@ -366,7 +366,7 @@ Host github.com
IdentityFile ~/.ssh/id_ed25519_github
```

This explicitly states which key to use for github.com
This explicitly states which key to use for `github.com`
and is needed if you have many SSH keys already for other hosts.

:::
Expand Down
8 changes: 4 additions & 4 deletions 09-branches.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ exercises: 10

Branching is a feature available in most modern version control systems.
Branching in other version control systems can be an expensive operation in both time and disk space.
In git, branches are a part of your everyday development process.
In Git, branches are a part of your everyday development process.

So far we have been working on the `main` branch
and have made one commit, the **root-commit**.
Expand All @@ -38,7 +38,7 @@ config:
showCommitLabel: false
---
gitGraph
accDescr {A git graph showing the root-commit on the main branch and a new forecast branch with one commit branched off the root-commit. This branch is then merged back into main via a merge commit on GitHub.}
accDescr {A Git graph showing the root-commit on the main branch and a new forecast branch with one commit branched off the root-commit. This branch is then merged back into main via a merge commit on GitHub.}
commit id: '6f12a47'
branch forecast
commit id: '8136c6f Add in a seasonal forecasts file'
Expand Down Expand Up @@ -93,7 +93,7 @@ Our current repository looks something like this:

```mermaid
gitGraph
accDescr {A git graph showing one commit, the root-commit on the main branch.}
accDescr {A Git graph showing one commit, the root-commit on the main branch.}
commit id: '6f12a47'
```

Expand Down Expand Up @@ -176,7 +176,7 @@ so our repository looks like this:

```mermaid
gitGraph
accDescr {A git graph showing the root-commit on the main branch and a new forecast branch with no commits.}
accDescr {A Git graph showing the root-commit on the main branch and a new forecast branch with no commits.}
commit id: '6f12a47'
branch forecast
```
Expand Down
6 changes: 3 additions & 3 deletions 10-open.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,12 +152,12 @@ approach for your current project and explain why.
## How to Track Large Data or Image Files using Git?

Large data or image files such as `.md5` or `.psd` file types can be tracked within
a github repository using the [Git Large File Storage](https://git-lfs.github.com)
a GitHub repository using the [Git Large File Storage](https://git-lfs.github.com)
open source extension tool. This tool automatically uploads large file contents to
a remote server and replaces the file with a text pointer within the github repository.
a remote server and replaces the file with a text pointer within the GitHub repository.

Try downloading and installing the Git Large File Storage extension tool, then add
tracking of a large file to your github repository. Ask a colleague to clone your
tracking of a large file to your GitHub repository. Ask a colleague to clone your
repository and describe what they see when they access that large file.


Expand Down
2 changes: 1 addition & 1 deletion 10-pull-requests.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ The Git & GitHub Working Practices training will help you decide
which option is best for your teams repositories.
For now we will use the [`fast-forward only` strategy](https://blog.sffc.xyz/post/185195398930/why-you-should-use-git-pull-ff-only).
To use this strategy run the following command to
select it as the default thing git should do.
select it as the default thing Git should do.

```bash
$ git config pull.ff only
Expand Down
2 changes: 1 addition & 1 deletion 14-supplemental-rstudio.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ If there is no version of Git on your computer, please follow the
[Git installation instructions](https://swcarpentry.github.io/git-novice/#installing-git)
in the setup of this lesson to install Git now. Next open your shell or command prompt
and type `which git` (macOS, Linux), or `where git` (Windows).
Copy the path to the git executable.
Copy the path to the Git executable.

On one Windows computer which had GitHub Desktop installed on it, the path was:
`C:/Users/UserName/AppData/Local/GitHubDesktop/app-1.1.1/resources/app/git/cmd/git.exe`
Expand Down
4 changes: 2 additions & 2 deletions Break.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ teaching: 0
exercises: 0
---

This marks the end of the git section.
This marks the end of the Git section.
Take a break and remember to fill out your minute card feedback.

## Summary
Expand All @@ -20,7 +20,7 @@ config:
showCommitLabel: false
---
gitGraph
accDescr {A git graph showing the root-commit on the main branch and a new forecast branch with five commits.}
accDescr {A Git graph showing the root-commit on the main branch and a new forecast branch with five commits.}
commit id: 'Initial commit'
branch forecast
commit id: 'Create a md file with the forecast'
Expand Down
6 changes: 3 additions & 3 deletions discuss.md
Original file line number Diff line number Diff line change
Expand Up @@ -426,23 +426,23 @@ The final step, as before, is to commit our change to the repository:
$ git commit -m 'Correct the cloud type'
```

This works because git can tell that the file was only re-named,
This works because Git can tell that the file was only re-named,
they contain the same content.
If you are renaming files add this change as a separate small commit
before you make changes to the file contents.

## Further .gitignore concepts

For additional documentation on .gitignore, please reference
[the official git documentation](https://git-scm.com/docs/gitignore).
[the official Git documentation](https://git-scm.com/docs/gitignore).

In the ignore exercise, learners were presented with two variations of ignoring
nested files. Depending on the organization of your repository, one may suit
your needs over another. Keep in mind that the way that Git travels along
directory paths can be confusing.

Sometimes the `**` pattern comes in handy, too, which matches multiple
directory levels. E.g. `**/results/plots/*` would make git ignore the
directory levels. E.g. `**/results/plots/*` would make Git ignore the
`results/plots` directory in any root directory.

::::::::::::::::::::::::::::::::::::::: challenge
Expand Down
2 changes: 1 addition & 1 deletion instructor-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ particular set of files in `.gitignore`.
involved.

- When pushing to a remote, the output from Git can vary slightly depending on
what leaners execute. The lesson displays the output from git if a learner
what leaners execute. The lesson displays the output from Git if a learner
executes `git push origin main`. However, some learners might use syntax
suggested by GitHub for pushing to a remote with an existing repository,
which is `git push -u origin main`. Learners using syntax from GitHub,
Expand Down
16 changes: 8 additions & 8 deletions learner-profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,27 +31,27 @@ Profiles can be used to test whether the product or service meets the specific n

## Profiles

Amina is a researcher collaborating with the office to develop Jules. She uses fcm and svn because she has to. When the JULES docs moved to git/GitHub she tried to start learning git/GitHub to contribute to the docs but was unsure where to start and what courses to take. Amina and her colleagues frequently use the JASMIN computer and want to know how the new ways of working with Git and GitHub will apply to their use of JASMIN.
Amina is a researcher collaborating with the office to develop Jules. She uses fcm and svn because she has to. When the JULES docs moved to Git/GitHub she tried to start learning Git/GitHub to contribute to the docs but was unsure where to start and what courses to take. Amina and her colleagues frequently use the JASMIN computer and want to know how the new ways of working with Git and GitHub will apply to their use of JASMIN.

Joshua is a scientific software engineer working on LFRic in the CCD team. He uses fcm mainly and doesn't really touch svn. Joshua is comfortable using GitHub as some of his projects are already on GitHub. He has questions about working practices after the big codes have migrated. When working on the GitHub hosted LFRic documentation he uses the version control features of his IDE, PyCharm.

Carlton is a scientific software engineer in Ocean Forecasting R&D. He is already thinking about the migration and supporting colleagues learning git basics. Carlton has a need for git/GitHub documentation and training, he is considering making his own. Carlton has questions about working practices after the big codes have migrated. He wants more bite sized and modular training on advanced Git/GitHub topics which could be delivered together in a days session for his team.
Carlton is a scientific software engineer in Ocean Forecasting R&D. He is already thinking about the migration and supporting colleagues learning Git basics. Carlton has a need for Git/GitHub documentation and training, he is considering making his own. Carlton has questions about working practices after the big codes have migrated. He wants more bite sized and modular training on advanced Git/GitHub topics which could be delivered together in a days session for his team.

Mina is a scientist working on JEDI related projects. Her team has already migrated most of their code to git/GitHub and is dual using fcm and git whilst migrating their last few repositories. Mina is learning about more advanced features of git/GitHub and exclusively uses the command line to interact with any JEDI git repositories. She would prefer to learn from short videos that she can access anytime.
Mina is a scientist working on JEDI related projects. Her team has already migrated most of their code to Git/GitHub and is dual using fcm and Git whilst migrating their last few repositories. Mina is learning about more advanced features of Git/GitHub and exclusively uses the command line to interact with any JEDI Git repositories. She would prefer to learn from short videos that she can access anytime.

Alexis is a Science Manager. They manage a large team and several projects with technical and scientific documentation currently spread between trac pages, SharePoint, and OneNote. Alexis needs to work out how documentation will be migrated and would like to learn how to use GitHub to effectively manage her projects and team. They have also requested dedicated support for their team to help them migrate.

Cora is an apprentice studying climate policy and has little to no experience with programming / computer science. She will be running various climate workflows and codes as part of Alexis' team. Cora doesn't know what version control is and would like to take an in person course and to have the materials available online so she can refer back anytime. She has been picking up bits of fcm as she starts her apprenticeship.

Clarabella is a new starter to the office in Technology. They only know how to use git/GitHub but have had some very basic srs/fcm training. Clarabella needs to learn how we use GitHub at the Met Office and her manager suggested they find more advanced training on topics such as GitHub actions for their project. She's proficient with Linux and has some experience with VSCode but not its version control features and extensions.
Clarabella is a new starter to the office in Technology. They only know how to use Git/GitHub but have had some very basic srs/fcm training. Clarabella needs to learn how we use GitHub at the Met Office and her manager suggested they find more advanced training on topics such as GitHub actions for their project. She's proficient with Linux and has some experience with VSCode but not its version control features and extensions.

Maxine is a scientist mainly working on climate policy. They use fcm once in a blue moon to contribute to small repos / scripts that they maintain. Maxine needs training on git/GitHub but is very bust so has little time to engage with training or the migration project. She would like a demonstration or walkthrough of how to migrate her repositories and scripts, preferably from an expert and in-person.
Maxine is a scientist mainly working on climate policy. They use fcm once in a blue moon to contribute to small repos / scripts that they maintain. Maxine needs training on Git/GitHub but is very bust so has little time to engage with training or the migration project. She would like a demonstration or walkthrough of how to migrate her repositories and scripts, preferably from an expert and in-person.

Ziki is a prolific developer of core Met Office codes. He has limited experience of git/GitHub and needs to know how development processes will work when the code migrates to git/GitHub. Ziki has very little CPD time that could be used for training due to other science commitments. Ziki is nervous about making mistakes due to his time constraints and would like to know where to look to troubleshoot problems.
Ziki is a prolific developer of core Met Office codes. He has limited experience of Git/GitHub and needs to know how development processes will work when the code migrates to Git/GitHub. Ziki has very little CPD time that could be used for training due to other science commitments. Ziki is nervous about making mistakes due to his time constraints and would like to know where to look to troubleshoot problems.

Raven is a scientist working on the UM at a MOAP partner organisation. They only learn via written documentation with clear examples. Raven is currently working on several grant proposals and papers so has limited time to engage with us. Raven needs the benefits of migration emphasised and clear written documentation/training on how to use git/GitHub both in general and for the UM.
Raven is a scientist working on the UM at a MOAP partner organisation. They only learn via written documentation with clear examples. Raven is currently working on several grant proposals and papers so has limited time to engage with us. Raven needs the benefits of migration emphasised and clear written documentation/training on how to use Git/GitHub both in general and for the UM.

Tatsuya is a PhD student working on a regional UM configuration. Their supervisor has asked them to get the UM model running on their HPC and doesn't know where to start. They learnt git/GitHub at university but are unsure what our working practices are and where to look for help. Tatsuya hates learning through videos and would like to attend hand on support sessions to supplement any written documentation.
Tatsuya is a PhD student working on a regional UM configuration. Their supervisor has asked them to get the UM model running on their HPC and doesn't know where to start. They learnt Git/GitHub at university but are unsure what our working practices are and where to look for help. Tatsuya hates learning through videos and would like to attend hand on support sessions to supplement any written documentation.

Carmine is a scientist working at a MOAP partner institution in Oceania and does her data analysis primarily with R on Windows. They want to learn how to use Git and GitHub effectively on Windows with RStudio. They have very little experience with SVN and trac and no experience with Git and GitHub. She would like to understand more about version control and why it is important. They aren't comfortable asking questions in a public forum so would like a private support channel to ask questions.

Expand Down
Loading

0 comments on commit 365f610

Please sign in to comment.